home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Navigation Tools / 411 / OpenDocHelp < prev    next >
Encoding:
Text File  |  1995-10-18  |  986.9 KB  |  47,255 lines  |  [TEXT/MPS ]

  1. æKY CopyrightNotice
  2. æC  Copyright Apple Computer, Inc. 1992-1994, All rights reserved.
  3. 411 - OpenDoc™ Help - OpenDoc™ 1.0 Alpha 6 Release.
  4. Exported from OD API Documentation System written by Tantek Çelik
  5. Wednesday, October 18, 1995 10:42:34 AM
  6.  
  7. æKY OpenDocHelp
  8. OpenDoc
  9. æKL ODArbitratorHelp
  10. ODBindingHelp
  11. ODCanvasHelp
  12. ODClipboardHelp
  13. ODConstantsHelp
  14. ODContainerHelp
  15. ODCPlusSemanticInterfaceHelp
  16. ODDescHelp
  17. ODDispatcherHelp
  18. ODDispatchModuleHelp
  19. ODDocumentHelp
  20. ODDraftHelp
  21. ODDragAndDropHelp
  22. ODDragItemIteratorHelp
  23. ODEmbeddedFramesIteratorHelp
  24. ODExtensionHelp
  25. ODFacetHelp
  26. ODFacetIteratorHelp
  27. ODFocusModuleHelp
  28. ODFocusOwnerIteratorHelp
  29. ODFocusSetHelp
  30. ODFocusSetIteratorHelp
  31. ODFrameHelp
  32. ODFrameFacetIteratorHelp
  33. ODInfoHelp
  34. ODLinkHelp
  35. ODLinkIteratorHelp
  36. ODLinkManagerHelp
  37. ODLinkSourceHelp
  38. ODLinkSourceIteratorHelp
  39. ODLinkSpecHelp
  40. ODMenuBarHelp
  41. ODMessageInterfaceHelp
  42. ODNameResolverHelp
  43. ODNameSpaceHelp
  44. ODNameSpaceManagerHelp
  45. ODObjectHelp
  46. ODObjectIteratorHelp
  47. ODObjectNameSpaceHelp
  48. ODOSLTokenHelp
  49. ODPartHelp
  50. ODPartWrapperHelp
  51. ODPersistentObjectHelp
  52. ODPlatformTypeListHelp
  53. ODPlatformTypeListIteratorHelp
  54. ODRefCntObjectHelp
  55. ODSemanticInterfaceHelp
  56. ODSessionHelp
  57. ODSettingsExtensionHelp
  58. ODShapeHelp
  59. ODShellPlugInHelp
  60. ODSIHelperHelp
  61. ODSIHelperAbsHelp
  62. ODStorageSystemHelp
  63. ODStorageUnitHelp
  64. ODStorageUnitCursorHelp
  65. ODStorageUnitRefIteratorHelp
  66. ODStorageUnitViewHelp
  67. ODTransformHelp
  68. ODTranslationHelp
  69. ODTypeListHelp
  70. ODTypeListIteratorHelp
  71. ODTypesHelp
  72. ODUndoHelp
  73. ODValueIteratorHelp
  74. ODValueNameSpaceHelp
  75. ODWindowHelp
  76. ODWindowIteratorHelp
  77. ODWindowStateHelp
  78.  
  79. æKY ODArbitratorHelp
  80. ODArbitrator
  81. Arbitrator
  82. æKL ODArbitrator::ODArbitrator
  83. ODArbitrator::~ODArbitrator
  84. ODArbitrator::CreateFocusSet
  85. ODArbitrator::CreateOwnerIterator
  86. ODArbitrator::GetFocusModule
  87. ODArbitrator::GetFocusOwner
  88. ODArbitrator::InitArbitrator
  89. ODArbitrator::IsFocusExclusive
  90. ODArbitrator::IsFocusRegistered
  91. ODArbitrator::Purge
  92. ODArbitrator::RegisterFocus
  93. ODArbitrator::RelinquishFocus
  94. ODArbitrator::RelinquishFocusSet
  95. ODArbitrator::RequestFocus
  96. ODArbitrator::RequestFocusSet
  97. ODArbitrator::TransferFocus
  98. ODArbitrator::TransferFocusSet
  99. ODArbitrator::UnregisterFocus
  100. ODArbitrator::fFocusModules
  101. ODArbitrator::fSession
  102. æC Basic Class Documentation
  103. The Arbitrator is used to manage competition between parts for named
  104. resources known as "foci".
  105. The parts in an OpenDoc document communicate with a single
  106. ODArbitrator object, obtained from the ODSession object.
  107. ODArbitrator is a subclass of ODObject.
  108. ODArbitrator is a platform-independent class.
  109. Related classes are ODFocusModule, ODFocusSet, and ODFocusSetIterator.
  110. ODArbitrator participates in the Part Activation and UI Events
  111. protocols.
  112.  
  113. Theory of Operation
  114. The arbitrator is used to manage competition between parts for named
  115. resources known as "foci". The foci are described by segmented ISO
  116. strings, but most arbitration methods used tokenize forms of these.
  117. The Session object has a Tokenize() method.
  118. Most foci are exclusive, and can only be "owned" by a single part at a
  119. time. However the arbitrator also supports non exclusive foci which
  120. can be owned by several parts. In this case, all the arbitrator does
  121. is provide a central place to record and obtain the list of owners of
  122. a focus.
  123. Example foci include keystroke focus, selection focus, and menu bar
  124. focus. Keyboard events are sent to the part which has the keystroke
  125. focus. Menu  events are sent to the part which has the menu bar focus
  126. (assuming there is a menu bar on a particular platform).
  127. Many foci are related to event distribution within an OpenDoc
  128. document, but foci could also be associated with system-wide resources
  129. like ports.
  130. A part typically requests and relinquishes a set of foci from the
  131. arbitrator. What the user thinks of as the "active" part is really the
  132. part which owns the selection focus. Don't worry. The same part will
  133. almost always also own the menu bar and keystroke foci, but it is
  134. possible, in principle, for one part to receive menu commands while
  135. another gets keystrokes. This may make sense in a dialog part which is
  136. built from control parts with which it has a more intimate
  137. relationship than the usual one between containers and embedded parts.
  138.  The arbitrator is extensible, to accomodate the addition of exotic
  139. input devices, and parts which use them. The arbitrator contains a
  140. collection of focus modules (instances of subclasses of
  141. ODFocusModule). Additional focus modules can be installed to handle
  142. new focus types.
  143.  
  144. Invariants Maintained by Class
  145. ODArbitrator maintains a table associating foci with focus modules.
  146. There is a standard focus module which arbitrates the standard foci
  147. like keystroke focus and menu bar focus.
  148.  
  149. Other Persistent Properties
  150. No persistent properties
  151. æKY ODArbitrator::ODArbitrator
  152. Arbitrator::ODArbitrator
  153. Arbitrator->ODArbitrator
  154. æT Class Method
  155. æD ODArbitrator();
  156.  
  157. æC Protection
  158.     Public.  The arbitrator is created by the OpenDoc session object. Parts do not
  159. create instances of this class.
  160.  
  161. Override policy
  162.     Derived class cannot override.
  163.     Derived class cannot call base class behavior, during derived class behavior.
  164.  
  165. Basic operation
  166. Initializes the fields of the instance to safe defaults. 
  167. Initialization that might fail is done in InitArbitrator().
  168.  
  169. Inputs
  170. None.
  171.  
  172. Outputs
  173. None.
  174.  
  175. Exceptions Signalled
  176. None.
  177.  
  178. Pre conditions
  179. None.
  180.  
  181. Post conditions
  182. Arbitrator is constructed, but not yet usable, because InitArbitrator
  183. must be called.
  184.  
  185. æKY ODArbitrator::~ODArbitrator
  186. Arbitrator::~ODArbitrator
  187. Arbitrator->~ODArbitrator
  188. æT Class Method
  189. æD ~ODArbitrator();
  190.  
  191. æC Protection
  192.     Public.  The arbitrator is destroyed by the OpenDoc session object. Parts do
  193. not destroy arbitrators.
  194.  
  195. Override policy
  196.     Derived class cannot override.
  197.     Derived class cannot call base class behavior, during derived class behavior.
  198.  
  199. Basic operation
  200. Frees the memory allocated by this object.
  201.  
  202. Inputs
  203. None.
  204.  
  205. Outputs
  206. None.
  207.  
  208. Exceptions Signalled
  209. None.
  210.  
  211. Pre conditions
  212. A valid instance
  213.  
  214. Post conditions
  215. The memory used by the instance is freed, and the instance is no
  216. longer usable.
  217.  
  218. æKY ODArbitrator::CreateFocusSet
  219. Arbitrator::CreateFocusSet
  220. Arbitrator->CreateFocusSet
  221. æT Class Method
  222. æD ODFocusSet CreateFocusSet();
  223.  
  224. æC Protection
  225.     Public.  Will be called by most part editors.
  226.  
  227. Override policy
  228.     Derived class can override.
  229.     Derived class can call base class behavior, during derived class behavior.
  230.  
  231. Basic operation
  232. Returns an initialized instance of ODFocusSet. Parts use this to
  233. create a focus set to pass to RequestFocusSet, after adding foci to
  234. it.
  235.  
  236. Inputs
  237. None.
  238.  
  239. Outputs
  240. <return>
  241.     An initialized focus set.
  242.  
  243. Exceptions Signalled
  244. kODErrOutOfMemory
  245.     Out of memory
  246.  
  247. Pre conditions
  248. A valid initialized ODArbitrator.
  249.  
  250. Post conditions
  251. Result contains initialized ODFocusSet instance. 
  252.  
  253. æKY ODArbitrator::CreateOwnerIterator
  254. Arbitrator::CreateOwnerIterator
  255. Arbitrator->CreateOwnerIterator
  256. æT Class Method
  257. æD ODFocusOwnerIterator* CreateOwnerIterator(
  258. ODTypeToken focus);
  259.  
  260. æC Protection
  261.     Public.  Can be called by part editors.
  262.  
  263. Override policy
  264.     Derived class can override.
  265.     Derived class can call base class behavior, during derived class behavior.
  266.  
  267. Basic operation
  268. Returns an iterator which returns all the parts which own the
  269. specified non-exclusive focus.
  270.  
  271. Inputs
  272. focus
  273.     A token for a registered focus type.
  274.  
  275. Outputs
  276. <return>
  277.     An iterator
  278.  
  279. Exceptions Signalled
  280. kODErrOutOfMemory
  281.     Out of memory
  282.  
  283. Pre conditions
  284. A valid non-exclusive focus.
  285.  
  286. Post conditions
  287. No change in internal state. 
  288.  
  289. æKY ODArbitrator::GetFocusModule
  290. Arbitrator::GetFocusModule
  291. Arbitrator->GetFocusModule
  292. æT Class Method
  293. æD ODFocusModule GetFocusModule(
  294. in
  295. ODTypeToken focusType);
  296.  
  297. æC Protection
  298.     Public.  Not called by most part editors. Can be used to "patch" focus modules
  299. by saving the old one and calling it from a new one.
  300.  
  301. Override policy
  302.     Derived class can override.
  303.     Derived class can call base class behavior, during derived class behavior.
  304.  
  305. Basic operation
  306. Returns the focus module associated with the specified focus, or
  307. kODNULL.
  308.  
  309. Inputs
  310. focusType
  311.     A token for a registered focus type.
  312.  
  313. Outputs
  314. <return>
  315.     The focus module for the specified focus. May be kODNull.
  316.  
  317. Exceptions Signalled
  318. None.
  319.  
  320. Pre conditions
  321. A valid focus.
  322.  
  323. Post conditions
  324. The focus module is returned. 
  325.  
  326. æKY ODArbitrator::GetFocusOwner
  327. Arbitrator::GetFocusOwner
  328. Arbitrator->GetFocusOwner
  329. æT Class Method
  330. æD ODFrame* GetFocusOwner(
  331. ODTypeToken focusType);
  332.  
  333. æC Protection
  334.     Public.  Called by part editors.
  335.  
  336. Override policy
  337.     Derived class can override.
  338.     Derived class can call base class behavior, during derived class behavior.
  339.  
  340. Basic operation
  341. Returns the frame which owns the specified focus, or kODNULL.
  342.  
  343. Inputs
  344. focusType
  345.     A token for a registered focus type.
  346.  
  347. Outputs
  348. <return>
  349.     The frame which owns the focus. May be kODNull.
  350.  
  351. Exceptions Signalled
  352. None.
  353.  
  354. Pre conditions
  355. A valid focus.
  356.  
  357. Post conditions
  358. The owning  frame is returned. 
  359.  
  360. æKY ODArbitrator::InitArbitrator
  361. Arbitrator::InitArbitrator
  362. Arbitrator->InitArbitrator
  363. æT Class Method
  364. æD void InitArbitrator(
  365. ODSession* session);
  366.  
  367. æC Protection
  368.     Public.  The arbitrator is created by the OpenDoc session object. Parts do not
  369. call this method.
  370.  
  371. Override policy
  372.     Derived class cannot override.
  373.     Derived class cannot call base class behavior, during derived class behavior.
  374.  
  375. Basic operation
  376. Performs initialization that could fail.
  377.  
  378. Inputs
  379. None
  380.  
  381. Outputs
  382. None
  383.  
  384. Exceptions Signalled
  385. kODErrorOutOfMemory
  386.     Out of memory.
  387.  
  388. Pre conditions
  389. None.
  390.  
  391. Post conditions
  392. An initialized, usable arbitrator.
  393.  
  394. æKY ODArbitrator::IsFocusExclusive
  395. Arbitrator::IsFocusExclusive
  396. Arbitrator->IsFocusExclusive
  397. æT Class Method
  398. æD ODBoolean IsFocusExclusive(
  399. ODTypeToken focus);
  400.  
  401. æC Protection
  402.     Public.  
  403.  
  404. Override policy
  405.     Derived class can override.
  406.     Derived class can call base class behavior, during derived class behavior.
  407.  
  408. Basic operation
  409. Returns kODTrue, if the specified focus is exclusive, kODFalse
  410. otherwise.
  411.  
  412. Inputs
  413. focus
  414.     A token for a registered focus
  415.  
  416. Outputs
  417. <return>
  418.     kODTrue, if the focus is exclusive
  419.  
  420. Exceptions Signalled
  421. None.
  422.  
  423. Pre conditions
  424. A constructed and initialized object of this class.
  425.  
  426. Post conditions
  427. Result contains kODTrue if the specified focus is exclusive, kODFalse
  428. otherwise.
  429.  
  430. æKY ODArbitrator::IsFocusRegistered
  431. Arbitrator::IsFocusRegistered
  432. Arbitrator->IsFocusRegistered
  433. æT Class Method
  434. æD ODBoolean IsFocusRegistered(
  435. ODTypeToken focus);
  436.  
  437. æC Protection
  438.     Public.  
  439.  
  440. Override policy
  441.     Derived class can override.
  442.     Derived class can call base class behavior, during derived class behavior.
  443.  
  444. Basic operation
  445. Returns kODTrue, if the specified focus is registered, kODFalse
  446. otherwise.
  447.  
  448. Inputs
  449. focus
  450.     A token for a registered focus
  451.  
  452. Outputs
  453. <return>
  454.     kODTrue, if the focus is registered
  455.  
  456. Exceptions Signalled
  457. None.
  458.  
  459. Pre conditions
  460. A constructed and initialized object of this class.
  461.  
  462. Post conditions
  463. Result contains kODTrue if the specified focus is exclusive, kODFalse
  464. otherwise.
  465.  
  466. æKY ODArbitrator::Purge
  467. Arbitrator::Purge
  468. Arbitrator->Purge
  469. æT Class Method
  470. æD ODSize Purge(
  471. ODSize size);
  472.  
  473. æC Protection
  474.     Public.  Called by OpenDoc in low memory situations.
  475.  
  476. Override policy
  477.     Derived class can override.
  478.     Derived class can call base class behavior, during derived class behavior.
  479.  
  480. Basic operation
  481. Frees up some memory, usually by flushing internal state to external
  482. storage. 
  483.  
  484. Inputs
  485. size
  486.     The amount of memory requested.
  487.  
  488. Outputs
  489. <return>
  490.     The amount of memory freed.
  491.  
  492. Exceptions Signalled
  493. None.
  494.  
  495. Pre conditions
  496. A valid initialized instance
  497.  
  498. Post conditions
  499. Some memory has been freed up.
  500.  
  501. æKY ODArbitrator::RegisterFocus
  502. Arbitrator::RegisterFocus
  503. Arbitrator->RegisterFocus
  504. æT Class Method
  505. æD void RegisterFocus(
  506. ODTypeToken focus,
  507. ODFocusModule* focusModule);
  508.  
  509. æC Protection
  510.     Public.  Called by some part editors.
  511.  
  512. Override policy
  513.     Derived class can override.
  514.     Derived class can call base class behavior, during derived class behavior.
  515.  
  516. Basic operation
  517. Installs a new focus module to be used to manage the specified focus.
  518.  
  519. Inputs
  520. focus
  521.     A token for a focus to be managed by the specified focus module. 
  522. focusModule
  523.     A focus module to be associated with the specified focus.
  524.  
  525. Outputs
  526. None.
  527.  
  528. Exceptions Signalled
  529. kODErrExistingFocusModule
  530.     A focus module already exists for that focus.
  531.  
  532. Pre conditions
  533. A valid focus and focus module
  534.  
  535. Post conditions
  536. The table contains the new focus module.
  537.  
  538. æKY ODArbitrator::RelinquishFocus
  539. Arbitrator::RelinquishFocus
  540. Arbitrator->RelinquishFocus
  541. æT Class Method
  542. æD void RelinquishFocus(
  543. ODTypeToken focus,
  544. ODFrame* relinquishingFrame);
  545.  
  546. æC Protection
  547.     Public.  Called by part editors.
  548.  
  549. Override policy
  550.     Derived class can override.
  551.     Derived class can call base class behavior, during derived class behavior.
  552.  
  553. Basic operation
  554. Sets the owner frame of  the specified focus to kODNULL. 
  555.  
  556. Inputs
  557. focus
  558.     A focus to be relinquished.
  559. relinquishingFrame
  560.     The frame which is relinquishing ownership of the focus.
  561.  
  562. Outputs
  563. None.
  564.  
  565. Exceptions Signalled
  566. kODErrInvalidFrame
  567.  
  568. Pre conditions
  569. A valid focus  and relinquishing frame are required.
  570.  
  571. Post conditions
  572. The focus  now has no owner.
  573.  
  574. æKY ODArbitrator::RelinquishFocusSet
  575. Arbitrator::RelinquishFocusSet
  576. Arbitrator->RelinquishFocusSet
  577. æT Class Method
  578. æD void RelinquishFocusSet(
  579. ODFocusSet* focusSet,
  580. ODFrame* relinquishingFrame);
  581.  
  582. æC Protection
  583.     Public.  Called by part editors.
  584.  
  585. Override policy
  586.     Derived class can override.
  587.     Derived class can call base class behavior, during derived class behavior.
  588.  
  589. Basic operation
  590. Sets the owner frame of each focus in the specified focus set to
  591. kODNULL. 
  592.  
  593. Inputs
  594. focusSet
  595.     A set of foci to be relinquished.
  596. relinquishingFrame
  597.     The frame which is relinquishing ownership of the set of foci.
  598.  
  599. Outputs
  600. None.
  601.  
  602. Exceptions Signalled
  603. kODErrInvalidFocusSet
  604. kODErrInvalidFrame
  605.  
  606. Pre conditions
  607. A valid focus set and relinquishing frame are required.
  608.  
  609. Post conditions
  610. Each focus now in the set now has no owner.
  611.  
  612. æKY ODArbitrator::RequestFocus
  613. Arbitrator::RequestFocus
  614. Arbitrator->RequestFocus
  615. æT Class Method
  616. æD ODBoolean RequestFocus(
  617. ODTypeToken focus,
  618. ODFrame* requestingFrame);
  619.  
  620. æC Protection
  621.     Public.  Called by part editors, which generally use RequestFocusSet, but use
  622. this method when a single focus is requested.
  623.  
  624. Override policy
  625.     Derived class can override.
  626.     Derived class can call base class behavior, during derived class behavior.
  627.  
  628. Basic operation
  629. Ownership of  the specified focus is assigned to the specified frame,
  630. provided the existing owner was willing to relinquish the requested
  631. focus. 
  632.  
  633. Inputs
  634. focus
  635.     A  requested focus.
  636. requestingFrame
  637.     The frame requesting the focus.
  638.  
  639. Outputs
  640. <return>
  641.     kODTrue, if the request was granted.
  642.  
  643. Exceptions Signalled
  644. kODErrFocusNotRegistered
  645.     One of the requested foci is not registered.
  646.  
  647. Pre conditions
  648. A valid focus, and requesting frame. 
  649.  
  650. Post conditions
  651. If the request is granted, the new ownership relationship is  stored
  652. in the relevant focus module, and kODTrue is returned.
  653. If the request fails, the existing ownership relationship is intact,
  654. and kODFalse is returned.
  655.  
  656. æKY ODArbitrator::RequestFocusSet
  657. Arbitrator::RequestFocusSet
  658. Arbitrator->RequestFocusSet
  659. æT Class Method
  660. æD ODBoolean RequestFocusSet(
  661. ODFocusSet* focusSet,
  662. ODFrame* requestingFrame);
  663.  
  664. æC Protection
  665.     Public.  Called by part editors.
  666.  
  667. Override policy
  668.     Derived class can override.
  669.     Derived class can call base class behavior, during derived class behavior.
  670.  
  671. Basic operation
  672. Ownership of each focus in the specified focus set is assigned to the
  673. specified frame, provided all existing owners were willing to
  674. relinquish the requested foci. The operation is atomic. If one focus
  675. is unattainable ownership of the set is not granted.
  676.  
  677. Inputs
  678. focusSet
  679.     A set of requested foci.
  680. requestingFrame
  681.     The frame requesting the focus.
  682.  
  683. Outputs
  684. <return>
  685.     kODTrue, if the request was granted.
  686.  
  687. Exceptions Signalled
  688. kODErrFocusNotRegistered
  689.     One of the requested foci is not registered.
  690.  
  691. Pre conditions
  692. A valid focus set, and requesting frame. 
  693.  
  694. Post conditions
  695. If the request is granted, the new ownership relationships are stored
  696. in the relevant focus modules, and kODTrue is returned.
  697. If the request fails, the existing ownership relationships are intact,
  698. and kODFalse is returned.
  699.  
  700. æKY ODArbitrator::TransferFocus
  701. Arbitrator::TransferFocus
  702. Arbitrator->TransferFocus
  703. æT Class Method
  704. æD void TransferFocus(
  705. ODTypeToken focus,
  706. ODFrame* transferringFrame,
  707. ODFrame* newOwner);
  708.  
  709. æC Protection
  710.     Public.  Called by part editors, for example when transferring the modal focus
  711. back to its previous owner.
  712.  
  713. Override policy
  714.     Derived class can override.
  715.     Derived class can call base class behavior, during derived class behavior.
  716.  
  717. Basic operation
  718. Transfers a focus from its current owner to another.  The new owner's
  719. FocusAcquired() method is called. If the existing owner is not the
  720. transferring frame, its FocusLost() method is also called. 
  721.  
  722. Inputs
  723. focus
  724.     A focus to be relinquished.
  725. transferringFrame
  726.     The frame which is transferring ownership of the focus. Need not be
  727. the current owner.
  728. newOwner
  729.     The new focus owner
  730.  
  731. Outputs
  732. None.
  733.  
  734. Exceptions Signalled
  735. kODErrInvalidFrame
  736.  
  737. Pre conditions
  738. The focus is registered. 
  739.  
  740. Post conditions
  741. The focus  is owned by "newOwner".
  742.  
  743. æKY ODArbitrator::TransferFocusSet
  744. Arbitrator::TransferFocusSet
  745. Arbitrator->TransferFocusSet
  746. æT Class Method
  747. æD void TransferFocusSet(
  748. ODFocusSet* focusSet,
  749. ODFrame* transferringFrame,
  750. ODFrame* newOwner);
  751.  
  752. æC Protection
  753.     Public.  Can be called by part editors.
  754.  
  755. Override policy
  756.     Derived class can override.
  757.     Derived class can call base class behavior, during derived class behavior.
  758.  
  759. Basic operation
  760. Sets the owner frame of each focus in the specified focus set to
  761. newFrame. The new owner's FocusAcquired() method is called. If the
  762. existing owner is not the transferring frame, its FocusLost() method
  763. is also called. 
  764.  
  765. Inputs
  766. focusSet
  767.     A set of foci to be relinquished.
  768. transferringFrame
  769.     The frame which is transferring ownership of the set of foci.
  770. newOwner
  771.     The new frame which owns the focus set
  772.  
  773. Outputs
  774. None.
  775.  
  776. Exceptions Signalled
  777. kODErrInvalidFocusSet
  778. kODErrInvalidFrame
  779.  
  780. Pre conditions
  781. The foci are registered
  782.  
  783. Post conditions
  784. The foci are owned by "newFrame"
  785.  
  786. æKY ODArbitrator::UnregisterFocus
  787. Arbitrator::UnregisterFocus
  788. Arbitrator->UnregisterFocus
  789. æT Class Method
  790. æD void UnregisterFocus(
  791. ODTypeToken focus);
  792.  
  793. æC Protection
  794.     Public.  Called by some part editors.
  795.  
  796. Override policy
  797.     Derived class can override.
  798.     Derived class can call base class behavior, during derived class behavior.
  799.  
  800. Basic operation
  801. Removes the specified focus module from the table.
  802.  
  803. Inputs
  804. focus
  805.     A token for a focus to be removed.
  806.  
  807. Outputs
  808. None.
  809.  
  810. Exceptions Signalled
  811. None.
  812.  
  813. Pre conditions
  814. A valid focus and focus module.
  815.  
  816. Post conditions
  817. The specified focus module is not in the table.
  818.  
  819. æKY ODArbitrator::fFocusModules
  820. Arbitrator::fFocusModules
  821. æT Class Field
  822. æD DictionaryList* fFocusModules;
  823. æC 
  824. æKY ODArbitrator::fSession
  825. Arbitrator::fSession
  826. æT Class Field
  827. æD ODSession* fSession; // Access to globals
  828. æC 
  829.  
  830. æKY ODBindingHelp
  831. ODBinding
  832. Binding
  833. æKL ODBinding::ODBinding
  834. ODBinding::~ODBinding
  835. ODBinding::ChooseEditorForPart
  836. ODBinding::GetContainerSuite
  837. ODBinding::InitBinding
  838. ODBinding::Purge
  839. ODBinding::fBinding
  840. ODBinding::fSession
  841. æC Basic Class Documentation
  842. This class represents the OpenDoc Name Binding object.  Objects of
  843. this class are created by member functions of the  ODSession class.
  844. ODBinding is a subclass of ODObject.
  845.  
  846. Theory of Operation
  847.  
  848.  
  849. Invariants Maintained by Class
  850.  
  851. æKY ODBinding::ODBinding
  852. Binding::ODBinding
  853. Binding->ODBinding
  854. æT Class Method
  855. æD ODBinding();
  856.  
  857. æC Protection
  858.     Private.  Only to be called by ODBaseSession::ODBaseSession().
  859.  
  860. Override policy
  861.     Derived class cannot override.
  862.     Derived class cannot call base class behavior, during derived class behavior.
  863.  
  864. Basic operation
  865. Initialize an ODNameSpace class
  866.  
  867. Inputs
  868. None
  869.  
  870. Outputs
  871. None
  872.  
  873. Exceptions Signalled
  874. None.
  875.  
  876. Pre conditions
  877. None.
  878.  
  879. Post conditions
  880. An ODBinding class will be created.
  881.  
  882. æKY ODBinding::~ODBinding
  883. Binding::~ODBinding
  884. Binding->~ODBinding
  885. æT Class Method
  886. æD virtual ~ODBinding();
  887.  
  888. æC Protection
  889.     Private.  Only to be called by the ODBaseSession class.
  890.  
  891. Override policy
  892.     Derived class cannot override.
  893.     Derived class cannot call base class behavior, during derived class behavior.
  894.  
  895. Basic operation
  896. Destroys the ODBinding object and any associated storage.
  897.  
  898. Inputs
  899. None
  900.  
  901. Outputs
  902. None
  903.  
  904. Exceptions Signalled
  905. None.
  906.  
  907. Pre conditions
  908. None.
  909.  
  910. Post conditions
  911. Object destroyed.
  912.  
  913. æKY ODBinding::ChooseEditorForPart
  914. Binding::ChooseEditorForPart
  915. Binding->ChooseEditorForPart
  916. æT Class Method
  917. æD ODEditor ChooseEditorForPart(
  918. ODStorageUnit thePartSU,
  919. ODType newKind);
  920.  
  921. æC Protection
  922.     Public.  
  923.  
  924. Override policy
  925.     Derived class cannot override.
  926.     Derived class cannot call base class behavior, during derived class behavior.
  927.  
  928. Basic operation
  929. Returns a part class id to be used for part instantiation by name.
  930.  
  931. Inputs
  932. thePartSU
  933.     The StorageUnit of the part being instantiated.
  934. newKind
  935.     When the StorageUnit is NULL, pass in a kind for the new part.
  936.  
  937. Outputs
  938. Return
  939.     Part Editor class id.
  940.  
  941. Exceptions Signalled
  942. None.
  943.  
  944. Pre conditions
  945. None.
  946.  
  947. Post conditions
  948. None.
  949.  
  950. æKY ODBinding::GetContainerSuite
  951. Binding::GetContainerSuite
  952. Binding->GetContainerSuite
  953. æT Class Method
  954. æD ODContainerSuite GetContainerSuite(
  955. ODContainerType containerType);
  956.  
  957. æC Protection
  958.     Public.  
  959.  
  960. Override policy
  961.     Derived class cannot override.
  962.     Derived class cannot call base class behavior, during derived class behavior.
  963.  
  964. Basic operation
  965. Returns a container suite class id to be used for instantiating a
  966. container suite by name.
  967.  
  968. Inputs
  969. containerType
  970.     The container suite type.
  971.  
  972. Outputs
  973. Return
  974.     container suite class id.
  975.  
  976. Exceptions Signalled
  977. None.
  978.  
  979. Pre conditions
  980. None.
  981.  
  982. Post conditions
  983. None.
  984.  
  985. æKY ODBinding::InitBinding
  986. Binding::InitBinding
  987. Binding->InitBinding
  988. æT Class Method
  989. æD void Initialize(
  990. ODSession session);
  991.  
  992. æC Protection
  993.     Private.  Should only be called by ODBaseSession.
  994.  
  995. Override policy
  996.     Derived class cannot override.
  997.     Derived class cannot call base class behavior, before derived class behavior.
  998.  
  999. Basic operation
  1000. Initializes the ODBinding object.
  1001.  
  1002. Inputs
  1003. session
  1004.     The session that the Binding object belongs to.
  1005.  
  1006. Outputs
  1007. None.
  1008.  
  1009. Exceptions Signalled
  1010. kODErrOutOfMemory
  1011.     Out of memory.
  1012.  
  1013. Pre conditions
  1014. None.
  1015.  
  1016. Post conditions
  1017. The ODBinding object will be initialized.
  1018.  
  1019. æKY ODBinding::Purge
  1020. Binding::Purge
  1021. Binding->Purge
  1022. æT Class Method
  1023. æD ODSize Purge(
  1024. ODSize howMuch);
  1025.  
  1026. æC Protection
  1027.     Public.  
  1028.  
  1029. Override policy
  1030.     Derived class can override.
  1031.     Derived class must call base class behavior, during derived class behavior.
  1032.  
  1033. Basic operation
  1034. Frees up unused memory.
  1035.  
  1036. Inputs
  1037. howMuch
  1038.     The amount of memory to purge.
  1039.  
  1040. Outputs
  1041. Return
  1042.     The amount of memory that was freed.
  1043.  
  1044. Exceptions Signalled
  1045. None.
  1046.  
  1047. Pre conditions
  1048. None.
  1049.  
  1050. Post conditions
  1051. Some memory may be freed for use.
  1052.  
  1053. æKY ODBinding::fBinding
  1054. Binding::fBinding
  1055. æT Class Field
  1056. æD Binding* fBinding;
  1057. æC 
  1058. æKY ODBinding::fSession
  1059. Binding::fSession
  1060. æT Class Field
  1061. æD ODSession fSession;
  1062. æC Persistent form
  1063. None.
  1064.  
  1065.  
  1066. æKY ODCanvasHelp
  1067. ODCanvas
  1068. Canvas
  1069. æKL ODCanvas::CheckUpdateShape
  1070. ODCanvas::GetBiasTransform
  1071. ODCanvas::GetFacet
  1072. ODCanvas::GetGraphicsSystem
  1073. ODCanvas::GetOwner
  1074. ODCanvas::GetPlatformCanvas
  1075. ODCanvas::GetPlatformPrintJob
  1076. ODCanvas::GetUpdateShape
  1077. ODCanvas::HasPlatformCanvas
  1078. ODCanvas::HasPlatformPrintJob
  1079. ODCanvas::InitCanvas
  1080. ODCanvas::Invalidate
  1081. ODCanvas::IsDynamic
  1082. ODCanvas::IsOffscreen
  1083. ODCanvas::Purge
  1084. ODCanvas::ResetUpdateShape
  1085. ODCanvas::SetBiasTransform
  1086. ODCanvas::SetFacet
  1087. ODCanvas::SetOwner
  1088. ODCanvas::SetPlatformCanvas
  1089. ODCanvas::SetPlatformPrintJob
  1090. ODCanvas::somInit
  1091. ODCanvas::somUninit
  1092. ODCanvas::Validate
  1093. æC Basic Class Documentation
  1094. Ancestors: ODCanvas -> ODObject
  1095.  
  1096. ODCanvas objects are wrappers for platform-specific data structures
  1097. representing drawing environments.
  1098.  
  1099. OpenDoc makes few assumptions about the underlying drawing environment
  1100. of a canvas. A canvas can hold anything from a bitmap or a structured
  1101. display list to a stream of PostScript code. The "graphicsSystem" code
  1102. indicates which kind of platform data structure is encapsulated by the
  1103. canvas object. Part editors will use the standard platform drawing
  1104. calls for the appropriate graphics system to render their contents on
  1105. the canvas. 
  1106.  
  1107. The "platformCanvas" field holds a reference to the platform data
  1108. structure. It is NOT disposed of when the canvas object is deleted; it
  1109. is the canvas' owner's responsibility to do that.
  1110.  
  1111. A canvas can be used several different ways. The "isDynamic" flag
  1112. indicates whether the canvas represents a dynamic environment like a
  1113. window or bitmap, or a static environment like a printed page. Part
  1114. editors will display parts differently based on that distinction. For
  1115. instance, a part may have scroll bars on the screen, but not when
  1116. printed. Part editors may also use different drawing commands for
  1117. printing or screen display.
  1118.  
  1119. The "isOffscreen" flag indicates whether the canvas is the main canvas
  1120. of the window (or print job), or use for off-screen rendering.
  1121. Offscreen canvases can be created by parts which wish to do
  1122. double-buffering, image combination such as tinting or translucency,
  1123. etc. Parts embedded on offscreen canvases have to do little to no
  1124. extra work to display properly.
  1125.  
  1126. Offscreen canvases also maintain an update shape describing the area
  1127. of the canvas which is invalid and needs to be redrawn, just like most
  1128. platforms' windows do. This lets embedded parts interact with their
  1129. drawing environment the same way whether in the window's canvas or
  1130. offscreen.
  1131.  
  1132. An offscreen canvas is attached to a particular facet. The canvas has
  1133. a back-pointer to that facet, and also a reference to the part that
  1134. created it. That part is responsible for moving the contents of the
  1135. canvas to its parent canvas when updating.
  1136.  
  1137. Theory of Operation
  1138.  
  1139.  
  1140. Invariants Maintained by Class
  1141. The canvas is created with a particular platformCanvas in a particular
  1142. graphics system. These values will never change. The isDynamic and
  1143. isOffscreen flags are also set for the lifetime of the object.
  1144. æKY ODCanvas::CheckUpdateShape
  1145. Canvas::CheckUpdateShape
  1146. Canvas->CheckUpdateShape
  1147. æT Class Method
  1148. æD void CheckUpdateShape();
  1149.  
  1150. æC Protection
  1151.     Protected.  
  1152.  
  1153. Override policy
  1154.     Derived class can override.
  1155.     Derived class can call base class behavior, during derived class behavior.
  1156.  
  1157. Basic operation
  1158. This is a vestigial method that is unused and should not be called.
  1159.  
  1160. Inputs
  1161. None.
  1162.  
  1163. Outputs
  1164. None.
  1165.  
  1166. Exceptions Signalled
  1167. None.
  1168.  
  1169. Pre conditions
  1170. None.
  1171.  
  1172. Post conditions
  1173. None.
  1174.  
  1175. æKY ODCanvas::GetBiasTransform
  1176. Canvas::GetBiasTransform
  1177. Canvas->GetBiasTransform
  1178. æT Class Method
  1179. æD ODTransform* GetBiasTransform();
  1180.  
  1181. æC Protection
  1182.     Public.  
  1183.  
  1184. Override policy
  1185.     Derived class can override.
  1186.     Derived class can call base class behavior, during derived class behavior.
  1187.  
  1188. Basic operation
  1189. Returns the bias transform associated with this canvas (see
  1190. SetBiasTransform). If none has previously been set, this method
  1191. returns NULL. The caller must not modify or delete this transform; if
  1192. you want to change it, copy it, modify the copy, and call
  1193. SetBiasTransform to install the copy.
  1194. This method increments the ref-count of the transform. The caller must
  1195. release it when done with it.
  1196.  
  1197. Inputs
  1198. None.
  1199.  
  1200. Outputs
  1201. <return>
  1202.     The canvas' bias transform object. Read-only!
  1203.  
  1204. Exceptions Signalled
  1205. None.
  1206.  
  1207. Pre conditions
  1208. None.
  1209.  
  1210. Post conditions
  1211. None.
  1212.  
  1213. æKY ODCanvas::GetFacet
  1214. Canvas::GetFacet
  1215. Canvas->GetFacet
  1216. æT Class Method
  1217. æD ODFacet* GetFacet();
  1218.  
  1219. æC Protection
  1220.     Public.  
  1221.  
  1222. Override policy
  1223.     Derived class can override.
  1224.     Derived class can call base class behavior, during derived class behavior.
  1225.  
  1226. Basic operation
  1227. Return the facet this canvas is associated with.
  1228.  
  1229. Inputs
  1230. None.
  1231.  
  1232. Outputs
  1233. <return>
  1234.     This canvas' facet.
  1235.  
  1236. Exceptions Signalled
  1237. None.
  1238.  
  1239. Pre conditions
  1240. None.
  1241.  
  1242. Post conditions
  1243. None.
  1244.  
  1245. æKY ODCanvas::GetGraphicsSystem
  1246. Canvas::GetGraphicsSystem
  1247. Canvas->GetGraphicsSystem
  1248. æT Class Method
  1249. æD ODGraphicsSystem GetGraphicsSystem();
  1250.  
  1251. æC Protection
  1252.     Public.  
  1253.  
  1254. Override policy
  1255.     Derived class can override.
  1256.     Derived class can call base class behavior, during derived class behavior.
  1257.  
  1258. Basic operation
  1259. Return the code indicating the graphics system of this canvas.
  1260.  
  1261. Inputs
  1262. None.
  1263.  
  1264. Outputs
  1265. <return>
  1266.     Graphics system code. Potential values are platform-dependent.
  1267.  
  1268. Exceptions Signalled
  1269. None.
  1270.  
  1271. Pre conditions
  1272. None.
  1273.  
  1274. Post conditions
  1275. None.
  1276.  
  1277. æKY ODCanvas::GetOwner
  1278. Canvas::GetOwner
  1279. Canvas->GetOwner
  1280. æT Class Method
  1281. æD ODPart* GetOwner();
  1282.  
  1283. æC Protection
  1284.     Public.  
  1285.  
  1286. Override policy
  1287.     Derived class can override.
  1288.     Derived class can call base class behavior, during derived class behavior.
  1289.  
  1290. Basic operation
  1291. Returns the part which is responsible for copying this canvas' image
  1292. to its parent canvas. The caller must release the part when done with
  1293. it.
  1294.  
  1295. Inputs
  1296. None.
  1297.  
  1298. Outputs
  1299. <return>
  1300.     The owner part.
  1301.  
  1302. Exceptions Signalled
  1303. None.
  1304.  
  1305. Pre conditions
  1306. None.
  1307.  
  1308. Post conditions
  1309. None.
  1310.  
  1311. æKY ODCanvas::GetPlatformCanvas
  1312. Canvas::GetPlatformCanvas
  1313. Canvas->GetPlatformCanvas
  1314. æT Class Method
  1315. æD ODPlatformCanvas GetPlatformCanvas(
  1316. ODGraphicsSystem );
  1317.  
  1318. æC Protection
  1319.     Public.  
  1320.  
  1321. Override policy
  1322.     Derived class can override.
  1323.     Derived class can call base class behavior, before derived class behavior.
  1324.  
  1325. Basic operation
  1326. Return the platform canvas of this canvas, for the desired graphics
  1327. system. If none exists, an exception will be raised. The graphics
  1328. system must be specified since, in some implementations (such as the
  1329. Mac) canvases can store platformCanvases for two graphics systems
  1330. (such as QuickDraw and QuickDraw GX) simultaneously.
  1331.  
  1332. Inputs
  1333. None.
  1334.  
  1335. Outputs
  1336. <return>
  1337.     Pointer to the platform-specific canvas.
  1338.  
  1339. Exceptions Signalled
  1340. kODErrInvalidGraphicsSystem
  1341.     The graphics system is unknown; or there is no platform canvas
  1342. associated with this graphics system.
  1343.  
  1344. Pre conditions
  1345. None.
  1346.  
  1347. Post conditions
  1348. None.
  1349.  
  1350. æKY ODCanvas::GetPlatformPrintJob
  1351. Canvas::GetPlatformPrintJob
  1352. Canvas->GetPlatformPrintJob
  1353. æT Class Method
  1354. æD ODPlatformPrintJob GetPlatformPrintJob(
  1355. ODGraphicsSystem g );
  1356.  
  1357. æC Protection
  1358.     Public.  
  1359.  
  1360. Override policy
  1361.     Derived class can override.
  1362.     Derived class can call base class behavior, during derived class behavior.
  1363.  
  1364. Basic operation
  1365. This method is very similar to GetPlatformCanvas; it returns the
  1366. graphics-system-dependent print job data associated with a particular
  1367. graphics system. (If there is none, an exception is raised.) This call
  1368. makes sense only for a static printing canvas.
  1369.  
  1370. Inputs
  1371. g
  1372.     The graphics system of interest
  1373.  
  1374. Outputs
  1375. <return>
  1376.     The platform print job (cast to type ODPlatformCanvas) if it exists.
  1377.  
  1378. Exceptions Signalled
  1379. kODErrInvalidGraphicsSystem
  1380.     The graphics system is unknown; or there is no print job associated
  1381. with it.
  1382.  
  1383. Pre conditions
  1384. None.
  1385.  
  1386. Post conditions
  1387. None.
  1388.  
  1389. æKY ODCanvas::GetUpdateShape
  1390. Canvas::GetUpdateShape
  1391. Canvas->GetUpdateShape
  1392. æT Class Method
  1393. æD ODShape* GetUpdateShape();
  1394.  
  1395. æC Protection
  1396.     Public.  
  1397.  
  1398. Override policy
  1399.     Derived class can override.
  1400.     Derived class can call base class behavior, during derived class behavior.
  1401.  
  1402. Basic operation
  1403. Returns the shape describing the area of this canvas which needs to be
  1404. redrawn. The caller must release this shape when done with it.
  1405.  
  1406. Inputs
  1407. None.
  1408.  
  1409. Outputs
  1410. <return>
  1411.     The update shape of this canvas.
  1412.  
  1413. Exceptions Signalled
  1414. None.
  1415.  
  1416. Pre conditions
  1417. None.
  1418.  
  1419. Post conditions
  1420. None.
  1421.  
  1422. æKY ODCanvas::HasPlatformCanvas
  1423. Canvas::HasPlatformCanvas
  1424. Canvas->HasPlatformCanvas
  1425. æT Class Method
  1426. æD ODBoolean HasPlatformCanvas(
  1427. ODGraphicsSystem );
  1428.  
  1429. æC Protection
  1430.     Public.  
  1431.  
  1432. Override policy
  1433.     Derived class can override.
  1434.     Derived class can call base class behavior, during derived class behavior.
  1435.  
  1436. Basic operation
  1437. Returns true if a platform canvas is associated with this graphics
  1438. system in this canvas.
  1439.  
  1440. Inputs
  1441. g
  1442.     The graphics system to query
  1443.  
  1444. Outputs
  1445. <return>
  1446.     kODTrue if a platform canvas exists for this graphics system; else
  1447. kODFalse.
  1448.  
  1449. Exceptions Signalled
  1450. None.
  1451.  
  1452. Pre conditions
  1453. None.
  1454.  
  1455. Post conditions
  1456. None.
  1457.  
  1458. æKY ODCanvas::HasPlatformPrintJob
  1459. Canvas::HasPlatformPrintJob
  1460. Canvas->HasPlatformPrintJob
  1461. æT Class Method
  1462. æD ODBoolean HasPlatformPrintJob(
  1463. ODGraphicsSystem g );
  1464.  
  1465. æC Protection
  1466.     Public.  
  1467.  
  1468. Override policy
  1469.     Derived class can override.
  1470.     Derived class can call base class behavior, during derived class behavior.
  1471.  
  1472. Basic operation
  1473. This method is very similar to HasPlatformCanvas; it returns true if
  1474. the canvas has a platform print job associated with the particular
  1475. graphics system. This call makes sense only for a static printing
  1476. canvas.
  1477.  
  1478. Inputs
  1479. g
  1480.     The graphics system of interest
  1481.  
  1482. Outputs
  1483. <return>
  1484.     kODTrue if there is a platform print job for this graphics system;
  1485. else kODFalse.
  1486.  
  1487. Exceptions Signalled
  1488. None.
  1489.  
  1490. Pre conditions
  1491. None.
  1492.  
  1493. Post conditions
  1494. None.
  1495.  
  1496. æKY ODCanvas::InitCanvas
  1497. Canvas::InitCanvas
  1498. Canvas->InitCanvas
  1499. æT Class Method
  1500. æD void InitCanvas(
  1501. ODGraphicsSystem graphicsSystem,
  1502. ODPlatformCanvas platformCanvas,
  1503. ODBoolean isDynamic,
  1504. ODBoolean isOffscreen);
  1505.  
  1506. æC Protection
  1507.     Public.  Should only be called by factory methods.
  1508.  
  1509. Override policy
  1510.     Derived class can override.
  1511.     Derived class can call base class behavior, during derived class behavior.
  1512.  
  1513. Basic operation
  1514. Initialize a newly constructed canvas so it can be used. Assign
  1515. parameters to fields, and allocate internal data structures.
  1516.  
  1517. Inputs
  1518. graphicsSystem
  1519.     The code for the canvas' graphics system. Platform-specific.
  1520. platformCanvas
  1521.     The platform-specific canvas data structure.Will NOT be disposed
  1522. during destruction of this object.
  1523. isDynamic
  1524.     kODTrue if canvas is dynamic, kODFalse if static.
  1525. isOffscreen
  1526.     kODTrue if canvas is offscreen, kODFalse otherwise.
  1527.  
  1528. Outputs
  1529. None.
  1530.  
  1531. Exceptions Signalled
  1532. None.
  1533.  
  1534. Pre conditions
  1535. Canvas was just constructed.
  1536.  
  1537. Post conditions
  1538. Canvas can be used for imaging.
  1539.  
  1540. æKY ODCanvas::Invalidate
  1541. Canvas::Invalidate
  1542. Canvas->Invalidate
  1543. æT Class Method
  1544. æD void Invalidate(
  1545. ODShape* shape);
  1546.  
  1547. æC Protection
  1548.     Public.  
  1549.  
  1550. Override policy
  1551.     Derived class can override.
  1552.     Derived class can call base class behavior, during derived class behavior.
  1553.  
  1554. Basic operation
  1555. Add "shape" to the update shape of this canvas. Also invalidates the
  1556. corresponding shape on the parent canvas, if any.
  1557.  
  1558. Inputs
  1559. shape
  1560.     The area to add to the update shape.
  1561.  
  1562. Outputs
  1563. None.
  1564.  
  1565. Exceptions Signalled
  1566. None.
  1567.  
  1568. Pre conditions
  1569. None.
  1570.  
  1571. Post conditions
  1572. None.
  1573.  
  1574. æKY ODCanvas::IsDynamic
  1575. Canvas::IsDynamic
  1576. Canvas->IsDynamic
  1577. æT Class Method
  1578. æD ODBoolean IsDynamic();
  1579.  
  1580. æC Protection
  1581.     Public.  
  1582.  
  1583. Override policy
  1584.     Derived class can override.
  1585.     Derived class can call base class behavior, before derived class behavior.
  1586.  
  1587. Basic operation
  1588. Returns true if this is a dynamic canvas, false if it is static.
  1589.  
  1590. Inputs
  1591. None.
  1592.  
  1593. Outputs
  1594. <return>
  1595.     kODTrue if this canvas is dynamic, kODFalse if static.
  1596.  
  1597. Exceptions Signalled
  1598. None.
  1599.  
  1600. Pre conditions
  1601. None.
  1602.  
  1603. Post conditions
  1604. None.
  1605.  
  1606. æKY ODCanvas::IsOffscreen
  1607. Canvas::IsOffscreen
  1608. Canvas->IsOffscreen
  1609. æT Class Method
  1610. æD ODBoolean IsOffscreen();
  1611.  
  1612. æC Protection
  1613.     Public.  No restrictions.
  1614.  
  1615. Override policy
  1616.     Derived class can override.
  1617.     Derived class can call base class behavior, before derived class behavior.
  1618.  
  1619. Basic operation
  1620. Returns whether this canvas is offscreen.
  1621.  
  1622. Inputs
  1623. None.
  1624.  
  1625. Outputs
  1626. <return>
  1627.     kODTrue if this canvas is offscreen, kODFalse otherwise.
  1628.  
  1629. Exceptions Signalled
  1630. None.
  1631.  
  1632. Pre conditions
  1633. None.
  1634.  
  1635. Post conditions
  1636. None.
  1637.  
  1638. æKY ODCanvas::Purge
  1639. Canvas::Purge
  1640. Canvas->Purge
  1641. æT Class Method
  1642. æD ODSize Purge(
  1643. ODSize size);
  1644.  
  1645. æC Protection
  1646.     Public.  
  1647.  
  1648. Override policy
  1649.     Derived class can override.
  1650.     Derived class can call base class behavior, during derived class behavior.
  1651.  
  1652. Basic operation
  1653. Attempt to free up to "size" bytes of memory by releasing any unneeded
  1654. internal storage.
  1655.  
  1656. Inputs
  1657. size
  1658.     The number of bytes to attempt to free.
  1659.  
  1660. Outputs
  1661. None.
  1662.  
  1663. Exceptions Signalled
  1664. None.
  1665.  
  1666. Pre conditions
  1667. None.
  1668.  
  1669. Post conditions
  1670. None.
  1671.  
  1672. æKY ODCanvas::ResetUpdateShape
  1673. Canvas::ResetUpdateShape
  1674. Canvas->ResetUpdateShape
  1675. æT Class Method
  1676. æD void ResetUpdateShape();
  1677.  
  1678. æC Protection
  1679.     Public.  
  1680.  
  1681. Override policy
  1682.     Derived class can override.
  1683.     Derived class can call base class behavior, during derived class behavior.
  1684.  
  1685. Basic operation
  1686. Set the update shape to be the empty shape.
  1687.  
  1688. Inputs
  1689. None.
  1690.  
  1691. Outputs
  1692. None.
  1693.  
  1694. Exceptions Signalled
  1695. None.
  1696.  
  1697. Pre conditions
  1698. None.
  1699.  
  1700. Post conditions
  1701. None.
  1702.  
  1703. æKY ODCanvas::SetBiasTransform
  1704. Canvas::SetBiasTransform
  1705. Canvas->SetBiasTransform
  1706. æT Class Method
  1707. æD void SetBiasTransform(
  1708. ODTransform *x );
  1709.  
  1710. æC Protection
  1711.     Public.  
  1712.  
  1713. Override policy
  1714.     Derived class can override.
  1715.     Derived class can call base class behavior, during derived class behavior.
  1716.  
  1717. Basic operation
  1718. Attaches a transformation (the "bias transform") to the canvas; it
  1719. will be concatenated in between the canvas' owning frame's transform
  1720. (if any) and the canvas' root frame's transform. The usual purpose of
  1721. this is to add a vertical flip and offset as glue between frames whose
  1722. graphics systems' coordinate systems have different handedness, e.g.
  1723. native and Windows-based frames on an OS/2 system.
  1724. This call increments the transform's reference-count.
  1725.  
  1726. Inputs
  1727. x
  1728.     The transform to use as the bias. It is adopted by the canvas; the
  1729. caller must not use, modify or delete it thereafter.
  1730.  
  1731. Outputs
  1732. None.
  1733.  
  1734. Exceptions Signalled
  1735. None.
  1736.  
  1737. Pre conditions
  1738. None.
  1739.  
  1740. Post conditions
  1741. Any preexisting bias transform will be deleted.
  1742. The new transform passed in will be adopted by the canvas.
  1743.  
  1744. æKY ODCanvas::SetFacet
  1745. Canvas::SetFacet
  1746. Canvas->SetFacet
  1747. æT Class Method
  1748. æD void SetFacet(
  1749. ODFacet* facet);
  1750.  
  1751. æC Protection
  1752.     Public.  
  1753.  
  1754. Override policy
  1755.     Derived class can override.
  1756.     Derived class can call base class behavior, during derived class behavior.
  1757.  
  1758. Basic operation
  1759. Set the facet field of this canvas. This should be done by the facet
  1760. when the canvas is added to it.
  1761.  
  1762. Inputs
  1763. facet
  1764.     The facet for the canvas.
  1765.  
  1766. Outputs
  1767. None.
  1768.  
  1769. Exceptions Signalled
  1770. None.
  1771.  
  1772. Pre conditions
  1773. This canvas should be the canvas for "facet".
  1774.  
  1775. Post conditions
  1776. None.
  1777.  
  1778. æKY ODCanvas::SetOwner
  1779. Canvas::SetOwner
  1780. Canvas->SetOwner
  1781. æT Class Method
  1782. æD void SetOwner(
  1783. ODPart* owner);
  1784.  
  1785. æC Protection
  1786.     Public.  
  1787.  
  1788. Override policy
  1789.     Derived class can override.
  1790.     Derived class can call base class behavior, during derived class behavior.
  1791.  
  1792. Basic operation
  1793. Set the pwner part of this canvas. The owner is responsible for
  1794. copying this canvas' image to its parent canvas. This call increments
  1795. the owner's reference-count.
  1796.  
  1797. Inputs
  1798. owner
  1799.     The new owner part.
  1800.  
  1801. Outputs
  1802. None.
  1803.  
  1804. Exceptions Signalled
  1805. None.
  1806.  
  1807. Pre conditions
  1808. None.
  1809.  
  1810. Post conditions
  1811. None.
  1812.  
  1813. æKY ODCanvas::SetPlatformCanvas
  1814. Canvas::SetPlatformCanvas
  1815. Canvas->SetPlatformCanvas
  1816. æT Class Method
  1817. æD void SetPlatformCanvas(
  1818. ODGraphicsSystem,
  1819. ODPlatformCanvas );
  1820.  
  1821. æC Protection
  1822.     Public.  
  1823.  
  1824. Override policy
  1825.     Derived class can override.
  1826.     Derived class can call base class behavior, during derived class behavior.
  1827.  
  1828. Basic operation
  1829. Associates a particular platform canvas with a particular graphics
  1830. system. (The actual type of the platformCanvas depends on the graphics
  1831. system.) Which graphics systems are supported is implementation
  1832. dependent; e.g. the Mac supports both QuickDraw and QuickDraw GX. Some
  1833. implementations allow platform canvases to be set for two or more
  1834. graphics systems simultaneously; in general, a canvas should be able
  1835. to store a platformCanvas for any graphics system that a part might
  1836. use.
  1837. To remove the association of a platform canvas with a graphics system,
  1838. pass kODNULL for the platformCanvas.
  1839.  
  1840. Inputs
  1841. ODGraphicsSystem
  1842.     The graphics system to associate the platformCanvas with.
  1843. ODPlatformCanvas
  1844.     The platform canvas data, cast to type ODPlatformCanvas (a void*); or
  1845. kODNULL for no platform canvas.
  1846.  
  1847. Outputs
  1848. None.
  1849.  
  1850. Exceptions Signalled
  1851. kODErrInvalidGraphicsSystem
  1852.     The graphics system is unknown.
  1853.  
  1854. Pre conditions
  1855. None.
  1856.  
  1857. Post conditions
  1858. None.
  1859.  
  1860. æKY ODCanvas::SetPlatformPrintJob
  1861. Canvas::SetPlatformPrintJob
  1862. Canvas->SetPlatformPrintJob
  1863. æT Class Method
  1864. æD void SetPlatformPrintJob(
  1865. ODGraphicsSystem g,
  1866. ODPlatformPrintJob j );
  1867.  
  1868. æC Protection
  1869.     Public.  
  1870.  
  1871. Override policy
  1872.     Derived class can override.
  1873.     Derived class can call base class behavior, during derived class behavior.
  1874.  
  1875. Basic operation
  1876. This method is very similar to SetPlatformCanvas; it sets the
  1877. graphics-system-dependent print job data associated with a particular
  1878. graphics system. This call makes sense only for a static printing
  1879. canvas.
  1880.  
  1881. Inputs
  1882. g
  1883.     The graphics system of interest.
  1884. j
  1885.     The platform print job, cast to type ODPlatformCanvas, or NULL to
  1886. clear the print job data.
  1887.  
  1888. Outputs
  1889. None.
  1890.  
  1891. Exceptions Signalled
  1892. None.
  1893.  
  1894. Pre conditions
  1895. None.
  1896.  
  1897. Post conditions
  1898. None.
  1899.  
  1900. æKY ODCanvas::somInit
  1901. Canvas::somInit
  1902. Canvas->somInit
  1903. æT Class Method
  1904. æD somInit();
  1905.  
  1906. æC Protection
  1907.     Public.  Canvases should only be directly created by factory methods.
  1908.  
  1909. Override policy
  1910.     Derived class must override.
  1911.     Derived class must call base class behavior, before derived class behavior.
  1912.  
  1913. Basic operation
  1914. Class constructor
  1915.  
  1916. Inputs
  1917. None.
  1918.  
  1919. Outputs
  1920. <return>
  1921.     an ODCanvas object.
  1922.  
  1923. Exceptions Signalled
  1924. kODErrInvalidPlatformCanvas
  1925. kODOutOfMemory
  1926.     cannot allocate ODCanvas object.
  1927.  
  1928. Pre conditions
  1929. None.
  1930.  
  1931. Post conditions
  1932. None.
  1933.  
  1934. æKY ODCanvas::somUninit
  1935. Canvas::somUninit
  1936. Canvas->somUninit
  1937. æT Class Method
  1938. æD somUninit();
  1939.  
  1940. æC Protection
  1941.     Public.  No restrictions.
  1942.  
  1943. Override policy
  1944.     Derived class must override.
  1945.     Derived class must call base class behavior, after derived class behavior.
  1946.  
  1947. Basic operation
  1948. Class destructor. Delete internal data structures.
  1949.  
  1950. Inputs
  1951. None.
  1952.  
  1953. Outputs
  1954. None.
  1955.  
  1956. Exceptions Signalled
  1957. None.
  1958.  
  1959. Pre conditions
  1960. None.
  1961.  
  1962. Post conditions
  1963. None.
  1964.  
  1965. æKY ODCanvas::Validate
  1966. Canvas::Validate
  1967. Canvas->Validate
  1968. æT Class Method
  1969. æD void Validate(
  1970. ODShape* shape);
  1971.  
  1972. æC Protection
  1973.     Public.  
  1974.  
  1975. Override policy
  1976.     Derived class can override.
  1977.     Derived class can call base class behavior, during derived class behavior.
  1978.  
  1979. Basic operation
  1980. Subtract "shape" from this canvas' update shape.
  1981.  
  1982. Inputs
  1983. shape
  1984.     The area to subtract from the update shape.
  1985.  
  1986. Outputs
  1987. None.
  1988.  
  1989. Exceptions Signalled
  1990. None.
  1991.  
  1992. Pre conditions
  1993. None.
  1994.  
  1995. Post conditions
  1996. None.
  1997.  
  1998.  
  1999. æKY ODClipboardHelp
  2000. ODClipboard
  2001. Clipboard
  2002. æKL ODClipboard::ODClipboard
  2003. ODClipboard::~ODClipboard
  2004. ODClipboard::ActionDone
  2005. ODClipboard::ActionRedone
  2006. ODClipboard::ActionUndone
  2007. ODClipboard::Clear
  2008. ODClipboard::DraftClosing
  2009. ODClipboard::ExportClipboard
  2010. ODClipboard::GetContentStorageUnit
  2011. ODClipboard::GetUpdateID
  2012. ODClipboard::InitClipboard
  2013. ODClipboard::Purge
  2014. ODClipboard::SetPlatformClipboard
  2015. ODClipboard::ShowPasteAsDialog
  2016. ODClipboard::fSU
  2017. æC Basic Class Documentation
  2018. ODClipboard provides a clipboard-like data transfer service between
  2019. OpenDoc documents (and parts), and between a OpenDoc document and a
  2020. non-OpenDoc document.
  2021.  
  2022. Platform vendor should implement this class.  This class is not
  2023. derived from any class.  However, it depends on the system service
  2024. which provides data transfer within a process and between processes.
  2025. (For simplicity, this data transfer service will be called system
  2026. clipboard in this document.)
  2027.  
  2028. Theory of Operation
  2029. At the process' startup time, a ODClipboard object is instantiated and
  2030. stored with the ODSession. Whenever a part needs the clipboard
  2031. service, it can acquire the ODClipboard object through the ODSession
  2032. object.
  2033.  
  2034. The main client for this class is ODPart.  To ensure thread-safe
  2035. access to the clipboard, parts should acquire the clipboard focus
  2036. before getting the content storage unit from the clipboard object.  An
  2037. active part should acquire the clipboard focus before enabling items
  2038. on the edit menu.  An active part holding the clipboard focus should
  2039. be prepared to relinquish the clipboard focus to allow background
  2040. parts to inspect the clipboard. 
  2041.  
  2042. Whenever data transfer is required (e.g., a part responding to a menu
  2043. event corresponding to Copy), the part should get the ODClipboard
  2044. object from ODSession, get the clipboard storage unit by calling the
  2045. GetContentStorageUnit method of the ODClipboard object, and read data
  2046. from or write data to the storage unit.
  2047.  
  2048. Invariants Maintained by Class
  2049. The ODStorageUnit object must be created using ODDraft object. Both
  2050. member fields should be valid from the construction to the destruction
  2051. of the class. (Note that the client of this class should never cache
  2052. the ODClipboard object nor its ODStorageUnit. Instead, it should get
  2053. these objects from ODSystemInterface and ODClipboard APIs whenever
  2054. they are needed.)
  2055. The ODStorageUnit returned is guaranteed to contain the content of the
  2056. system clipboard.
  2057. æKY ODClipboard::ODClipboard
  2058. Clipboard::ODClipboard
  2059. Clipboard->ODClipboard
  2060. æT Class Method
  2061. æD ODClipboard();
  2062.  
  2063. æC Protection
  2064.     Public.  
  2065.  
  2066. Override policy
  2067.     Derived class cannot override.
  2068.     Derived class cannot call base class behavior, during derived class behavior.
  2069.  
  2070. Basic operation
  2071. This function is the constructor of the ODClipboard object. It is
  2072. called once at the process' startup time. It initializes the system
  2073. clipboard.
  2074.  
  2075. Inputs
  2076. None
  2077.  
  2078. Outputs
  2079. None
  2080.  
  2081. Exceptions Signalled
  2082. None.
  2083.  
  2084. Pre conditions
  2085. None.
  2086.  
  2087. Post conditions
  2088. None.
  2089.  
  2090. æKY ODClipboard::~ODClipboard
  2091. Clipboard::~ODClipboard
  2092. Clipboard->~ODClipboard
  2093. æT Class Method
  2094. æD ~ODClipboard();
  2095.  
  2096. æC Protection
  2097.     Public.  None.
  2098.  
  2099. Override policy
  2100.     Derived class cannot override.
  2101.     Derived class cannot call base class behavior, during derived class behavior.
  2102.  
  2103. Basic operation
  2104. This function is the destructor of the ODClipboard object. It is
  2105. called once when the process quits. It should close the system service
  2106. that the constructor has initialized.
  2107.  
  2108. Inputs
  2109. None
  2110.  
  2111. Outputs
  2112. None
  2113.  
  2114. Exceptions Signalled
  2115. None.
  2116.  
  2117. Pre conditions
  2118. None.
  2119.  
  2120. Post conditions
  2121. None.
  2122.  
  2123. æKY ODClipboard::ActionDone
  2124. Clipboard::ActionDone
  2125. Clipboard->ActionDone
  2126. æT Class Method
  2127. æD ODUpdateID ActionDone(
  2128. ODCloneKind cloneKind);
  2129.  
  2130. æC Protection
  2131.     Public.  
  2132.  
  2133. Override policy
  2134.     Derived class can override.
  2135.     Derived class can call base class behavior, during derived class behavior.
  2136.  
  2137. Basic operation
  2138. Informs the clipboard object that an action has been performed
  2139. involving the clipboard.  The client must remember the returned
  2140. ODUpdateID for use in later calls to ActionUndone or ActionRedone.
  2141.  
  2142. Note that the ODUpdateID value returned is used just to identify a
  2143. particular clipboard generation.  When pasting from the clipboard, be
  2144. sure to generate a new change ID for the purposes of notifying
  2145. affected link sources and containing parts.
  2146.  
  2147. Inputs
  2148. cloneKind
  2149.     The ODCloneKind value used to clone to or from the clipboard.  The
  2150. valid values are kODCloneCut, kODCloneCopy, and kODClonePaste.
  2151.  
  2152. Outputs
  2153. <return>
  2154.     The ODUpdateID value associated with the clipboard contents involved
  2155. with this operation.
  2156.  
  2157. Exceptions Signalled
  2158. kODErrIllegalClipboardCloneKind
  2159.     The cloneKind argument is not kODCloneCopy, kODCloneCut, or kODClone
  2160. paste.
  2161.  
  2162. Pre conditions
  2163. None.
  2164.  
  2165. Post conditions
  2166. None.
  2167.  
  2168. æKY ODClipboard::ActionRedone
  2169. Clipboard::ActionRedone
  2170. Clipboard->ActionRedone
  2171. æT Class Method
  2172. æD void ActionRedone(
  2173. ODUpdateID update,
  2174. ODCloneKind cloneKind);
  2175.  
  2176. æC Protection
  2177.     Public.  
  2178.  
  2179. Override policy
  2180.     Derived class can override.
  2181.     Derived class can call base class behavior, during derived class behavior.
  2182.  
  2183. Basic operation
  2184. Notifies the clipboard object that an operation involving the
  2185. clipboard has been redone.  The update argument identifies the
  2186. clipboard generation at the time of the original operation (returned
  2187. by ActionDone), and the cloneKind is that of the original action.
  2188.  
  2189. Inputs
  2190. update
  2191.     The kODUpdateID value returned by  ActionDone at the time of the
  2192. original operation.
  2193. cloneKind
  2194.     The cloneKind of the original operation.
  2195.  
  2196. Outputs
  2197. None.
  2198.  
  2199. Exceptions Signalled
  2200. kODErrIllegalClipboardCloneKind
  2201.     The cloneKind argument is not kODCloneCopy, kODCloneCut, or kODClone
  2202. paste.
  2203.  
  2204. Pre conditions
  2205. None.
  2206.  
  2207. Post conditions
  2208. None.
  2209.  
  2210. æKY ODClipboard::ActionUndone
  2211. Clipboard::ActionUndone
  2212. Clipboard->ActionUndone
  2213. æT Class Method
  2214. æD void ActionUndone(
  2215. ODUpdateID update,
  2216. ODCloneKind cloneKind);
  2217.  
  2218. æC Protection
  2219.     Public.  
  2220.  
  2221. Override policy
  2222.     Derived class can override.
  2223.     Derived class can call base class behavior, during derived class behavior.
  2224.  
  2225. Basic operation
  2226. Notifies the clipboard object that an operation involving the
  2227. clipboard has been undone.  The update argument identifies the
  2228. clipboard generation at the time of the original operation (returned
  2229. by ActionDone), and the cloneKind is that of the original action.
  2230.  
  2231. Inputs
  2232. update
  2233.     The kODUpdateID value returned by  ActionDone at the time of the
  2234. original operation.
  2235. cloneKind
  2236.     The cloneKind of the original operation.
  2237.  
  2238. Outputs
  2239. None.
  2240.  
  2241. Exceptions Signalled
  2242. kODErrIllegalClipboardCloneKind
  2243.     The cloneKind argument is not kODCloneCopy, kODCloneCut, or kODClone
  2244. paste.
  2245.  
  2246. Pre conditions
  2247. None.
  2248.  
  2249. Post conditions
  2250. None.
  2251.  
  2252. æKY ODClipboard::Clear
  2253. Clipboard::Clear
  2254. Clipboard->Clear
  2255. æT Class Method
  2256. æD void Clear();
  2257.  
  2258. æC Protection
  2259.     Public.  
  2260.  
  2261. Override policy
  2262.     Derived class cannot override.
  2263.     Derived class cannot call base class behavior, during derived class behavior.
  2264.  
  2265. Basic operation
  2266. This function removes all the user data stored in the ODClipboard
  2267. object and clears the system clipboard. The client must not be holding
  2268. a storage unit reference returned by a prior call to
  2269. GetContentStorageUnit.
  2270.  
  2271. Inputs
  2272. None.
  2273.  
  2274. Outputs
  2275. None.
  2276.  
  2277. Exceptions Signalled
  2278. <platform errors>
  2279.     Host platform errors. 
  2280.  
  2281. Pre conditions
  2282. This clipboard object has been initialized.
  2283.  
  2284. Post conditions
  2285. The next call to GetContentStorageUnit returns an ODStorageUnit with
  2286. no properties.
  2287.  
  2288. æKY ODClipboard::DraftClosing
  2289. Clipboard::DraftClosing
  2290. Clipboard->DraftClosing
  2291. æT Class Method
  2292. æD void DraftClosing(
  2293. ODDraft* draft);
  2294.  
  2295. æC Protection
  2296.     Public.  Called only by container applications.  Parts may not call.
  2297.  
  2298. Override policy
  2299.     Derived class can override.
  2300.     Derived class can call base class behavior, during derived class behavior.
  2301.  
  2302. Basic operation
  2303. Notifies the clipboard object that a document draft is closing.  If a
  2304. part in the closing draft has  written promises to the clipboard, the
  2305. clipboard should ensure those promises are resolved.  If a part in the
  2306. closing draft has cut data to the clipboard, the clipboard should now
  2307. treat that data as if it had been copied to the clipboard (cut
  2308. semantics no longer apply).
  2309.  
  2310. Inputs
  2311. draft
  2312.     The document draft that is about to close.
  2313.  
  2314. Outputs
  2315. None.
  2316.  
  2317. Exceptions Signalled
  2318. kODErrOutOfMemory
  2319.     Out of memory.
  2320. <platform errors>
  2321.     Host platform errors. 
  2322.  
  2323. Pre conditions
  2324. The argument is a valid draft object.
  2325.  
  2326. Post conditions
  2327. The clipboard contains no promises from the argument draft.
  2328.  
  2329. æKY ODClipboard::ExportClipboard
  2330. Clipboard::ExportClipboard
  2331. Clipboard->ExportClipboard
  2332. æT Class Method
  2333. æD void ExportClipboard();
  2334.  
  2335. æC Protection
  2336.     Protected.  This method is for internal use by platform implementations of
  2337. OpenDoc.  It should not be called by parts.
  2338.  
  2339. Override policy
  2340.     Derived class cannot override.
  2341.     Derived class cannot call base class behavior, during derived class behavior.
  2342.  
  2343. Basic operation
  2344. If this clipboard has been changed since the last change to the host
  2345. platform clipboard, update the host clipboard now.  This methods
  2346. should be called by the Container Application whenever the current
  2347. content of the OpenDoc clipboard must be transferred to the platform
  2348. clipboard.  On the Macintosh, this includes when the application is
  2349. suspended or quit.
  2350.  
  2351. Inputs
  2352. None.
  2353.  
  2354. Outputs
  2355. None.
  2356.  
  2357. Exceptions Signalled
  2358. kODErrOutOfMemory
  2359.     Out of Memory
  2360. <platform errors>
  2361.     Host platform errors. 
  2362.  
  2363. Pre conditions
  2364. None.
  2365.  
  2366. Post conditions
  2367. The host platform clipboard contains the most recently cut or copied
  2368. items.
  2369.  
  2370. æKY ODClipboard::GetContentStorageUnit
  2371. Clipboard::GetContentStorageUnit
  2372. Clipboard->GetContentStorageUnit
  2373. æT Class Method
  2374. æD ODStorageUnit* GetContentStorageUnit();
  2375.  
  2376. æC Protection
  2377.     Public.  The returned ODStorageUnit object should not be cached by the caller.
  2378. Also, the ODClipboard object handles the creation and destruction of
  2379. the ODStorageUnit. Therefore, the caller should neither dispose or
  2380. release the returned object.
  2381.  
  2382. Override policy
  2383.     Derived class cannot override.
  2384.     Derived class cannot call base class behavior, during derived class behavior.
  2385.  
  2386. Basic operation
  2387. This function returns a ODStorageUnit object. The initial content of
  2388. the ODStorageUnit comes from the system clipboard. The caller can read
  2389. data from or write data to the ODStorageUnit.  The caller must not
  2390. release the returned ODStorageUnit.
  2391.  
  2392. Inputs
  2393. None.
  2394.  
  2395. Outputs
  2396. <return>
  2397.     An ODStorageUnit containing the content of the clipboard.  This object
  2398. should not be released.
  2399.  
  2400. Exceptions Signalled
  2401. <platform errors>
  2402.     Host platform errors.
  2403.  
  2404. Pre conditions
  2405. This clipboard object has been initialized.
  2406.  
  2407. Post conditions
  2408. The returned ODStorageUnit contains the content of the system
  2409. clipboard.
  2410.  
  2411. æKY ODClipboard::GetUpdateID
  2412. Clipboard::GetUpdateID
  2413. Clipboard->GetUpdateID
  2414. æT Class Method
  2415. æD ODUpdateID GetUpdateID();
  2416.  
  2417. æC Protection
  2418.     Public.  
  2419.  
  2420. Override policy
  2421.     Derived class cannot override.
  2422.     Derived class cannot call base class behavior, during derived class behavior.
  2423.  
  2424. Basic operation
  2425. Returns the update id identifying the clipboard content.  ODUpdateID
  2426. values should be tested for equality only.  GetUpdateID may be called
  2427. without acquiring the clipboard lock (but then there is no guarantee
  2428. the clipboard won't change before the next clipboard operation). 
  2429. ODUpdateID values returned by this method are only valid during the
  2430. current session.
  2431.  
  2432. Inputs
  2433. None.
  2434.  
  2435. Outputs
  2436. <return>
  2437.     the update identification of the current clipboard content.
  2438.  
  2439. Exceptions Signalled
  2440. None.
  2441.  
  2442. Pre conditions
  2443. None.
  2444.  
  2445. Post conditions
  2446. None.
  2447.  
  2448. æKY ODClipboard::InitClipboard
  2449. Clipboard::InitClipboard
  2450. Clipboard->InitClipboard
  2451. æT Class Method
  2452. æD void InitClipboard(
  2453. ODSession* session);
  2454.  
  2455. æC Protection
  2456.     Protected.  
  2457.  
  2458. Override policy
  2459.     Derived class cannot override.
  2460.     Derived class must call base class behavior, before derived class behavior.
  2461.  
  2462. Basic operation
  2463. Initialize this clipboard object.
  2464.  
  2465. Inputs
  2466. session
  2467.     Access to globals.
  2468.  
  2469. Outputs
  2470. None.
  2471.  
  2472. Exceptions Signalled
  2473. None.
  2474.  
  2475. Pre conditions
  2476. This is a valid ODClipboard object.
  2477.  
  2478. Post conditions
  2479. This is an initialized ODClipboard object.
  2480.  
  2481. æKY ODClipboard::Purge
  2482. Clipboard::Purge
  2483. Clipboard->Purge
  2484. æT Class Method
  2485. æD ODSize Purge(
  2486. ODSize size);
  2487.  
  2488. æC Protection
  2489.     Public.  
  2490.  
  2491. Override policy
  2492.     Derived class cannot override.
  2493.     Derived class cannot call base class behavior.
  2494.  
  2495. Basic operation
  2496. Attempts to free any storage it can. Returns amount it was able to
  2497. free.
  2498.  
  2499. Inputs
  2500. size
  2501.     Amount of memory requested
  2502.  
  2503. Outputs
  2504. Return
  2505.     value Amount of memory that was freed
  2506.  
  2507. Exceptions Signalled
  2508. None.
  2509.  
  2510. Pre conditions
  2511. None.
  2512.  
  2513. Post conditions
  2514. Some memory may be freed for use.
  2515.  
  2516. æKY ODClipboard::SetPlatformClipboard
  2517. Clipboard::SetPlatformClipboard
  2518. Clipboard->SetPlatformClipboard
  2519. æT Class Method
  2520. æD void SetPlatformClipboard(
  2521. ODPlatformTypeList* typeList
  2522. );
  2523.  
  2524. æC Protection
  2525.     Public.  
  2526.  
  2527. Override policy
  2528.     Derived class cannot override.
  2529.     Derived class cannot call base class behavior, during derived class behavior.
  2530.  
  2531. Basic operation
  2532. If this OpenDoc clipboard has changed since the last change to the
  2533. host platform clipboard, put data on the host clipboard.  The data
  2534. transferred is specified by the typeList argument, which is a list of
  2535. platform-dependent types.  Data is placed on the platform clipboard in
  2536. the same order as its corresponding ISO data on this clipboard.  To
  2537. keep host clipboard behavior consistent, translation to the argument
  2538. type is not attempted.
  2539. If the typeList argument is a nil object pointer, all content values
  2540. are copied to the platform clipboard; no embedded parts on the
  2541. clipboard are copied.
  2542. This routine should be called prior to using a platform-specific
  2543. service that uses the host clipboard.
  2544.  
  2545. Inputs
  2546. typeList
  2547.     The list of platform types to deposit on the host clipboard, if
  2548. present on this clipboard.
  2549.  
  2550. Outputs
  2551. None.
  2552.  
  2553. Exceptions Signalled
  2554. kODErrOutOfMemory
  2555.     Out of Memory
  2556.  
  2557. Pre conditions
  2558. This clipboard object has been initialized.
  2559.  
  2560. Post conditions
  2561. Any of the agrument platform types from the last cut or copy operation
  2562. are present on the host clipboard.
  2563.  
  2564. æKY ODClipboard::ShowPasteAsDialog
  2565. Clipboard::ShowPasteAsDialog
  2566. Clipboard->ShowPasteAsDialog
  2567. æT Class Method
  2568. æD ODBoolean ShowPasteAsDialog(
  2569. ODBoolean canPasteLink,
  2570. ODPasteAsMergeSetting mergeSetting,
  2571. ODFacet* facet,
  2572. ODTypeToken viewType,
  2573. ODPasteAsResult* result);
  2574.  
  2575. æC Protection
  2576.     Public.  
  2577.  
  2578. Override policy
  2579.     Derived class can override.
  2580.     Derived class can call base class behavior, during derived class behavior.
  2581.  
  2582. Basic operation
  2583. This function shows the Paste As Dialog and sets the appropriate
  2584. dialog items according to the input parameters.  If the function
  2585. returns kODFalse, that means the user cancels out of the dialog.
  2586. Otherwise, the output parameter result shows what kind of action the
  2587. client of ShowPasteAsDialog should perform. 
  2588.  
  2589. Inputs
  2590. canPasteLink
  2591.     boolean showing a link can be pasted.
  2592. mergeSetting
  2593.     specifies if merging and/or embedding is supported, and determines the
  2594. initial setting.
  2595. facet
  2596.     Facet from which the Paste As Dialog is triggered.
  2597. viewType
  2598.     View Type of the transfered data
  2599.  
  2600. Outputs
  2601. <return>
  2602.     boolean showing whether the user clicks OK.
  2603. result
  2604.     Result reflecting the user 's choice.
  2605.  
  2606. Exceptions Signalled
  2607. None.
  2608.  
  2609. Pre conditions
  2610. None.
  2611.  
  2612. Post conditions
  2613. None.
  2614.  
  2615. æKY ODClipboard::fSU
  2616. Clipboard::fSU
  2617. æT Class Field
  2618. æD ODStorageUnit*
  2619. æC 
  2620.  
  2621. æKY ODConstantsHelp
  2622. ODConstants
  2623. Constants
  2624. æKL Bento Container Suite Private Link Type Constants Constants
  2625. Binding Constants Constants
  2626. Category Constants Constants
  2627. Data Interchange Constants
  2628. Data Interchange - Persistent Properties Constants
  2629. Data Interchange - Persistent Value Types Constants
  2630. Error Codes
  2631.  Constants
  2632. Error Codes2 Constants
  2633. Error Codes - General Constants
  2634. General Constants
  2635. Layout Constants
  2636. Messaging - Properties for Part Info Dialog Constants
  2637. Messaging subsystem Constants
  2638. Name Spaces
  2639.  Constants
  2640. ODPart - Persistent Properties Constants
  2641. Standard Persistent Types Constants
  2642. Standard Persistent Properties Constants
  2643. Storage Subsystem - Errors Constants
  2644. Storage System
  2645.  Constants
  2646. UI Subsystem -  Standard Mac Events Constants
  2647. UI Subsystem - Additional OpenDoc Events Constants
  2648. UI Subsystem - Command IDs Constants
  2649. UI Subsystem - Foci Constants
  2650. UI Subsystem - Menu IDs Constants
  2651. UI Subsystem - Part Codes Constants
  2652. UI Subsystem-Persistent Properties Constants
  2653. UI subsytem - Undo Constants
  2654. æKY Bento Container Suite Private Link Type Constants Constants
  2655. æKL kODLinkContent
  2656. kODLinkSource
  2657. kODLink
  2658.  
  2659. æKY kODLinkContent
  2660. æC The ODType value used to identify a link content storage unit; used as
  2661. the value of the kODPropStorageUnitType property.
  2662.  
  2663. æKY kODLinkSource
  2664. æC An ODType value.  The value of the kODPropStorageUnitType property of
  2665. storage units containing the persistent form of an ODLinkSource
  2666. object.
  2667.  
  2668. æKY kODLink
  2669. æC An ODType value.  The value of the kODPropStorageUnitType property of
  2670. storage units containing the persistent form of an ODLink object.
  2671.  
  2672. æKY Binding Constants Constants
  2673. æKL kODContainerSuite
  2674. kODKind
  2675. kODEditorKinds
  2676. kODViewer
  2677. kODKindOldMacOSType
  2678. kODEditorPlatformKind
  2679. kODEditorHelpFile
  2680. kODEditorUserString
  2681. kODKindUserString
  2682. kODCategoryUserString
  2683. kODSimpleViewer
  2684. kODPlatformFileType
  2685. kODPlatformDataType
  2686. kODSysPrefContainerSuites
  2687. kODSysPrefEditorKinds
  2688. kODSysPrefEditorCategories
  2689. kODBlackBoxHandlerOfLastResort
  2690. kODNoEditor
  2691. kODNameMappings
  2692. kODIsMacOSTypeID
  2693. kODIsINTLTextID
  2694. kODIsAnISOStringID
  2695. kODIsAnISOStringListID
  2696. kODIsPltfmTypeSpacID
  2697.  
  2698. æKY kODContainerSuite
  2699. æC An ODISOString.  The identifier for the ContainerSuite 'nmap'
  2700. resource.
  2701.  
  2702. æKY kODKind
  2703. æC An ODISOString.  The identifier for the KindCategories  'nmap'
  2704. resource.
  2705.  
  2706. æKY kODEditorKinds
  2707. æC An ODISOString.  The identifier for the EditorKind 'nmap' resource.
  2708.  
  2709. æKY kODViewer
  2710. æC An ODISOString.  The identifier for the Viewer 'nmap' resource.
  2711.  
  2712. æKY kODKindOldMacOSType
  2713. æC An ODISOString.  The identifier for the KindOldMacOSType 'nmap'
  2714. resource.
  2715.  
  2716. æKY kODEditorPlatformKind
  2717. æC An ODISOString.  The identifier for the EditorPlatformKind 'nmap'
  2718. resource.
  2719.  
  2720. æKY kODEditorHelpFile
  2721. æC An ODISOString.  The identifier for the EditorHelpFile 'nmap'
  2722. resource.
  2723.  
  2724. æKY kODEditorUserString
  2725. æC An ODISOString. The identifier for the EditorUserString 'nmap'
  2726. resource.
  2727.  
  2728. æKY kODKindUserString
  2729. æC An ODISOString. The identifier for theKindUserString 'nmap' resource.
  2730.  
  2731. æKY kODCategoryUserString
  2732. æC An ODISOString. The identifier for the CategoryUserString 'nmap'
  2733. resource.
  2734.  
  2735. æKY kODSimpleViewer
  2736. æC The identifier for the Simple Viewer Type used in the Viewer 'nmap'
  2737. resource.
  2738.  
  2739. æKY kODPlatformFileType
  2740. æC The identifier for the Platform File Type used in the PlatformKinds 
  2741. 'nmap' resource.
  2742.  
  2743. æKY kODPlatformDataType
  2744. æC The identifier for the Platform Data Type used in the PlatformKinds 
  2745. 'nmap' resource.
  2746.  
  2747. æKY kODSysPrefContainerSuites
  2748. æC An ODISOString. The identifier for the SysPrefContainerSuites name
  2749. space owned by Binding.
  2750.  
  2751. æKY kODSysPrefEditorKinds
  2752. æC An ODISOString. The identifier for the SysPrefEditorKinds name space
  2753. owned by Binding.             
  2754.  
  2755. æKY kODSysPrefEditorCategories
  2756. æC An ODISOString. The identifier for the SysPrefEditorCateogories name
  2757. space owned by Binding.
  2758.  
  2759. æKY kODBlackBoxHandlerOfLastResort
  2760. æC An ODISOString. The ISOString for NoPart "Apple::NoPart".
  2761.  
  2762. æKY kODNoEditor
  2763. æC A null ODEditor.
  2764.  
  2765. æKY kODNameMappings
  2766. æC The resource type for 'nmap' resources.
  2767.  
  2768. æKY kODIsMacOSTypeID
  2769. æC The Mac OSType 'nmap' resource type.
  2770.  
  2771. æKY kODIsINTLTextID
  2772. æC The International Text type  'nmap' resource type.
  2773.  
  2774. æKY kODIsAnISOStringID
  2775. æC The ISO String  'nmap' resource type.
  2776.  
  2777. æKY kODIsAnISOStringListID
  2778. æC The ISO String list 'nmap' resource type.
  2779.  
  2780. æKY kODIsPltfmTypeSpacID
  2781. æC The Platform Type Space 'nmap' resource type.
  2782.  
  2783. æKY Category Constants Constants
  2784. æKL kODCategoryPlainText
  2785. kODCategoryStyledText
  2786. kODCategoryDrawing
  2787. kODCategory3DGraphic
  2788. kODCategoryPainting
  2789. kODCategoryMovie
  2790. kODCategorySampledSound
  2791. kODCategoryStructuredSound
  2792. kODCategoryChart
  2793. kODCategoryFormula
  2794. kODCategorySpreadsheet
  2795. kODCategoryTable
  2796. kODCategoryDatabase
  2797. kODCategoryQuery
  2798. kODCategoryConnection
  2799. kODCategoryScript
  2800. kODCategoryOutline
  2801. kODCategoryPageLayout
  2802. kODCategoryPresentation
  2803. kODCategoryCalendar
  2804. kODCategoryForm
  2805. kODCategoryExecutable
  2806. kODCategoryCompressed
  2807. kODCategoryControlPanel
  2808. kODCategoryControl
  2809. kODCategoryPersonalInfo
  2810. kODCategorySpace
  2811. kODCategoryProject
  2812. kODCategorySignature
  2813. kODCategoryKey
  2814. kODCategoryUtility
  2815. kODCategoryMailingLabel
  2816. kODCategoryLocator
  2817. kODCategoryPrinter
  2818. kODCategoryTime
  2819. æC Part Kind Categories.  Your kinds almost certainly fall into one or
  2820. more of these categories.  Please hesitate before creating a new
  2821. category, the OpenDoc Human Interface folks have worked very hard to
  2822. make sure that most (>90%) of document kinds already out there fit
  2823. into one of these categories.
  2824.  
  2825. æKY kODCategoryPlainText
  2826. æC The category of a Plain Text part kind such as ASCII or Apple Standard
  2827. Roman.
  2828.  
  2829. æKY kODCategoryStyledText
  2830. æC The category of a Styled Text part kind such as 'styl' or MacWrite II
  2831. format.
  2832.  
  2833. æKY kODCategoryDrawing
  2834. æC The category of a Drawing part kind such as 'PICT' or MacDraw format.
  2835.  
  2836. æKY kODCategory3DGraphic
  2837. æC The category of a 3D Graphic part kind such as QuickTimeVR format.
  2838.  
  2839. æKY kODCategoryPainting
  2840. æC The category of a Painting part kind such as TIFF or MacPaint format.
  2841.  
  2842. æKY kODCategoryMovie
  2843. æC The category of a Movie part kind such as QuickTime format.
  2844.  
  2845. æKY kODCategorySampledSound
  2846. æC The category of a Sampled Sound part kind such as 'snd ' format.
  2847.  
  2848. æKY kODCategoryStructuredSound
  2849. æC The category of a Structured Sound part kind such as MIDI format.
  2850.  
  2851. æKY kODCategoryChart
  2852. æC The category of a Chart part kind.
  2853.  
  2854. æKY kODCategoryFormula
  2855. æC The category of a Formula part kind such as an equation editor format.
  2856.  
  2857. æKY kODCategorySpreadsheet
  2858. æC The category of a Spreadsheet part kind such as SYLK or Resolve
  2859. format.
  2860.  
  2861. æKY kODCategoryTable
  2862. æC The category of a Table part kind such as a tab delimited text format.
  2863.  
  2864. æKY kODCategoryDatabase
  2865. æC The category of a Database part kind such as FileMaker format.
  2866.  
  2867. æKY kODCategoryQuery
  2868. æC The category of a Query part kind such as SQL format.
  2869.  
  2870. æKY kODCategoryConnection
  2871. æC The category of a Connection part kind such as CommToolBox Connection
  2872. Tool preferences format.
  2873.  
  2874. æKY kODCategoryScript
  2875. æC The category of a Script part kind such as HyperTalk, MPW Script,
  2876. AppleScript, or any other OSA compliant scripting language  format.
  2877.  
  2878. æKY kODCategoryOutline
  2879. æC The category of a Outline part kind.
  2880.  
  2881. æKY kODCategoryPageLayout
  2882. æC The category of a Page Layout part kind.
  2883.  
  2884. æKY kODCategoryPresentation
  2885. æC The category of a Presentation part kind.
  2886.  
  2887. æKY kODCategoryCalendar
  2888. æC The category of a Calendar part kind.
  2889.  
  2890. æKY kODCategoryForm
  2891. æC The category of a Form part kind.
  2892.  
  2893. æKY kODCategoryExecutable
  2894. æC The category of a Executable part kind such as .COM, .EXE and other
  2895. executables.
  2896.  
  2897. æKY kODCategoryCompressed
  2898. æC The category of a Compressed part kind such as sit or pit or cpt.
  2899.  
  2900. æKY kODCategoryControlPanel
  2901. æC The category of a Control Panel part kind such as Editor Setup.
  2902.  
  2903. æKY kODCategoryControl
  2904. æC The category of a Control part kind such as a button kind.
  2905.  
  2906. æKY kODCategoryPersonalInfo
  2907. æC The category of a Personal Info part kind such as a business card.
  2908.  
  2909. æKY kODCategorySpace
  2910. æC The category of a Space part kind such as a folder, hard disk, server
  2911. or room.
  2912.  
  2913. æKY kODCategoryProject
  2914. æC The category of a Project part kind such as MacProject.
  2915.  
  2916. æKY kODCategorySignature
  2917. æC The category of a Signature part kind such as a PowerTalk signature.
  2918.  
  2919. æKY kODCategoryKey
  2920. æC The category of a Key part kind such as any password, AppleShare,
  2921. login, PGP etc.
  2922.  
  2923. æKY kODCategoryUtility
  2924. æC The category of a Utility part kind.
  2925.  
  2926. æKY kODCategoryMailingLabel
  2927. æC The category of a Mailing Label part kind such as a PowerTalk mailer.
  2928.  
  2929. æKY kODCategoryLocator
  2930. æC The category of a Locator part kind such as a URL.
  2931.  
  2932. æKY kODCategoryPrinter
  2933. æC The category of a Printer part kind.
  2934.  
  2935. æKY kODCategoryTime
  2936. æC The category of a Time part kind.  This category is here for the
  2937. infamous clock parts.  Where else would they fit?
  2938.  
  2939. æKY Data Interchange Constants
  2940. æKL kODUnknownChange
  2941. kODCloneCopy
  2942. kODCloneCut
  2943. kODDropFail
  2944. kODInLinkDestination
  2945. kODInLinkSource
  2946. kODPasteAsMerge
  2947. kODDropUnfinished
  2948. kODCloneDropCopy
  2949. kODCloneDropMove
  2950. kODDropCopy
  2951. kODDropMove
  2952. kODNoWait
  2953. kODCloneToLink
  2954. kODCloneFromLink
  2955. kODPropProxyContent
  2956. kODPropContentIsFrame
  2957. kODDragIsInSourceFrame
  2958. kODDragIsInSourcePart
  2959. kODDropIsInSourceFrame
  2960. kODDropIsInSourcePart
  2961. kODDropIsMove
  2962. kODDropIsCopy
  2963. kODDropIsPasteAs
  2964. kODPasteAsMerge
  2965. kODPasteAsEmbed
  2966. kODPasteAsMergeOnly
  2967. kODPasteAsEmbedOnly
  2968. æC These constants are used during data interchange.
  2969.  
  2970. æKY kODUnknownChange
  2971. æC An ODChangeID value guaranteed to be different than any actual change
  2972. identification.  Can be used by parts when the change identifcation
  2973. associated with shared content is unknown.
  2974.  
  2975. æKY kODCloneCopy
  2976. æC An ODCloneKind value specifying copy semantics into an intermediate
  2977. draft such as the clipboard or a drag-and-drop container.
  2978.  
  2979. æKY kODCloneCut
  2980. æC An ODCloneKind value specifying cut semantics into an intermediate
  2981. draft.
  2982.  
  2983. æKY kODDropFail
  2984. æC An ODDropResult value signifying an unsuccessful synchronous drop.
  2985.  
  2986. æKY kODInLinkDestination
  2987. æC The ODLinkStatus value signifying a frame embedded in the destination
  2988. of a link; the content of this frame is thus supplied by a link.
  2989.  
  2990. æKY kODInLinkSource
  2991. æC The ODLinkStatus value signifying a frame that is embedded in one or
  2992. more sources of a link, but not in content that is the destination of
  2993. a link.
  2994.  
  2995. æKY kODPasteAsMerge
  2996. æC An ODPasteAsMergeSetting value that enables merge and embed, with
  2997. merge the initial setting. 
  2998.  
  2999. æKY kODDropUnfinished
  3000. æC An ODDropResult value signifying an asynchronous drag was started. 
  3001.  
  3002. æKY kODCloneDropCopy
  3003. æC An ODCloneKind value specifying copy semantics at the destination of a
  3004. drop and used instead of kODClonePaste.
  3005.  
  3006. æKY kODCloneDropMove
  3007. æC An ODCloneKind value specifying move semantics at the destination of a
  3008. drop and used instead of kODClonePaste.
  3009.  
  3010. æKY kODDropCopy
  3011. æC An ODDropResult value signifying a successful synchronous drop with
  3012. copy semantics.
  3013.  
  3014. æKY kODDropMove
  3015. æC An ODDropResult value signifying a successful synchronous drop with
  3016. move semantics.
  3017.  
  3018. æKY kODNoWait
  3019. æC An ODULong  value specifying not to wait to acquire a busy lock on the
  3020. clipboard or on a link.
  3021.  
  3022. æKY kODCloneToLink
  3023. æC An ODCloneKind value indicating cloning to a link.
  3024.  
  3025. æKY kODCloneFromLink
  3026. æC An ODCloneKind value indicating cloning from a link
  3027.  
  3028. æKY kODPropProxyContent
  3029. æC A part may write this property to the root storage unit of the
  3030. clipboard, a drag and drop container, or a link, to associate
  3031. intrinsic data with the embedded frame written to the kODPropContents
  3032. property.
  3033.  
  3034. æKY kODPropContentIsFrame
  3035. æC The presense of this property in the root storage unit of the
  3036. clipboard , a drag and drop container, or a link, indicates that the
  3037. kODPropContents property originated from a single embedded frame.
  3038.  
  3039. æKY kODDragIsInSourceFrame
  3040. æC Drag Attribute showing that the Drag has left the source frame. This
  3041. constant should only be used in ODPart::DragEnter and
  3042. ODPart::DragWithin.
  3043.  
  3044. æKY kODDragIsInSourcePart
  3045. æC Drag Attribute to show that the drag is still in the source part. This
  3046. constant should only be used in ODPart::DragEnter and
  3047. ODPart::DragWithin.
  3048.  
  3049. æKY kODDropIsInSourceFrame
  3050. æC Drag Attribute showing that a drop happens in the source frame. This
  3051. constant should only be used during ODPart::Drop.
  3052.  
  3053. æKY kODDropIsInSourcePart
  3054. æC Drag Attribute showing that a drop happens in the source part. This
  3055. constant should only be used during ODPart::Drop.
  3056.  
  3057. æKY kODDropIsMove
  3058. æC Drag Attribute showing that a drop should be a move. This constant
  3059. should only be used during ODPart::Drop. 
  3060.  
  3061. æKY kODDropIsCopy
  3062. æC Drag Attribute showing that a drop should be a copy. This constant
  3063. should only be used during ODPart::Drop. 
  3064.  
  3065. æKY kODDropIsPasteAs
  3066. æC Drag Attribute showing that a drop should be treated as a "paste as".
  3067. This constant should only be used during ODPart::Drop. 
  3068.  
  3069. æKY kODPasteAsMerge
  3070. æC An ODPasteAsMergeSetting value that enables merge and embed, with
  3071. merge the initial setting.
  3072.  
  3073. æKY kODPasteAsEmbed
  3074. æC An ODPasteAsMergeSetting value that enables merge and embed, with
  3075. embed the initial setting.
  3076.  
  3077. æKY kODPasteAsMergeOnly
  3078. æC An ODPasteAsMergeSetting value that does not allow embedding.
  3079.  
  3080. æKY kODPasteAsEmbedOnly
  3081. æC An ODPasteAsMergeSetting value that does not allow merging.
  3082.  
  3083. æKY Data Interchange - Persistent Properties Constants
  3084. æKL kODPropLink
  3085. kODPropLinkSource
  3086. kODPropLinkSpec
  3087. kODPropEditionAlias
  3088. kODPropLinkSection
  3089. kODPropLinkContentSU
  3090. kODPropAutoExport
  3091. kODPropChangeID
  3092. kODPropOriginalID
  3093. kODPropOriginalDraft
  3094. kODPropOriginalCloneKind
  3095. kODPropEditionID
  3096. kODPropSectionID
  3097. kODPropReservedSectionIDs
  3098. kODPropChangeTime
  3099. kODPropChangeLimit
  3100. kODPropObjectType
  3101. æC These constants identify persistent properties of Data Interchange
  3102. objects.
  3103.  
  3104. æKY kODPropLink
  3105. æC A property  containing the persistent identity of an ODLink object. 
  3106.  
  3107. æKY kODPropLinkSource
  3108. æC A property  containing the persistent identity of an ODLinkSource
  3109. object. 
  3110.  
  3111. æKY kODPropLinkSpec
  3112. æC A property  containing the representation of an ODLinkSpec object. 
  3113.  
  3114. æKY kODPropEditionAlias
  3115. æC A Macintosh-specific property containing the alias of an edition file
  3116. used in implementing cross-document links.
  3117.  
  3118. æKY kODPropLinkSection
  3119. æC A Macintosh-specific property containing the section record of a
  3120. cross-document link.
  3121.  
  3122. æKY kODPropLinkContentSU
  3123. æC A property  containing the persistent identity of an ODStorageUnit
  3124. serving to store the contents of a link. 
  3125.  
  3126. æKY kODPropAutoExport
  3127. æC A property  containing an ODBoolean value for the auto export status
  3128. of an ODLinkSource object. 
  3129.  
  3130. æKY kODPropChangeID
  3131. æC A property  containing the persistent form of an ODChangeID value.
  3132.  
  3133. æKY kODPropOriginalID
  3134. æC A property  of ODLink and ODLinkSource objects in intermediate
  3135. containers, such as the clipboard, containing the non-persistent
  3136. object ID of the original object in the original draft.
  3137.  
  3138. æKY kODPropOriginalDraft
  3139. æC A draft property of intermediate drafts, such as the clipboard draft,
  3140. containing the non-persistent object ID of the original draft.
  3141.  
  3142. æKY kODPropOriginalCloneKind
  3143. æC A draft property of intermediate drafts, such as the clipboard draft,
  3144. containing the persistent representation of an ODCloneKind value
  3145. denoting the operation (kODCloneCut or kODCloneCopy) that deposited
  3146. content in the draft. 
  3147.  
  3148. æKY kODPropEditionID
  3149. æC A Macintosh-specific document property containing the last edition
  3150. file ID used by any draft of the document. 
  3151.  
  3152. æKY kODPropSectionID
  3153. æC A Macintosh-specific document property containing the last section ID
  3154. used by any draft of the document. 
  3155.  
  3156. æKY kODPropReservedSectionIDs
  3157. æC A Macintosh-specific document property containing Edition manager
  3158. section IDs reserved for use by the container application.
  3159.  
  3160. æKY kODPropChangeTime
  3161. æC A link source object property containing the date and time the link
  3162. source was last updated. 
  3163.  
  3164. æKY kODPropChangeLimit
  3165. æC A link source object property containing a value used internally
  3166. during link cycle detection.
  3167.  
  3168. æKY kODPropObjectType
  3169. æC Type of the object.
  3170.  
  3171. æKY Data Interchange - Persistent Value Types Constants
  3172. æKL kODLinkSpec
  3173. kODAppleTEXT
  3174. kODApplestyl
  3175. kODApplePICT
  3176. kODApplehfs
  3177. kODApplesnd
  3178. kODApplealis
  3179. kODApplesect
  3180. kODApplestxt
  3181. kODDragImageRegionHandle
  3182. kODObjectType
  3183. æC These constants identify persistent value types used in Data
  3184. Interchange.
  3185.  
  3186. æKY kODLinkSpec
  3187. æC The ODValueType for the persistent form of an ODLinkSpec object.
  3188.  
  3189. æKY kODAppleTEXT
  3190. æC The ODValueType for values in Apple 'TEXT' scrap format.
  3191.  
  3192. æKY kODApplestyl
  3193. æC The ODValueType for values in Apple 'styl' scrap format.
  3194.  
  3195. æKY kODApplePICT
  3196. æC The ODValueType for values in Apple 'PICT' scrap format.
  3197.  
  3198. æKY kODApplehfs
  3199. æC The ODValueType for values in Apple 'hfs ' scrap format.
  3200.  
  3201. æKY kODApplesnd
  3202. æC The ODValueType for values in Apple 'snd ' scrap format.
  3203.  
  3204. æKY kODApplealis
  3205. æC The ODValueType for values in Apple 'alis' scrap format.
  3206.  
  3207. æKY kODApplesect
  3208. æC The ODValueType for values in Apple 'sect' scrap format.
  3209.  
  3210. æKY kODApplestxt
  3211. æC The ODValueType for values in Apple 'stxt' (styled text) scrap format.
  3212.  
  3213. æKY kODDragImageRegionHandle
  3214. æC Image type for StartDrag.
  3215.  
  3216. æKY kODObjectType
  3217. æC Type of the object.
  3218.  
  3219. æKY Error Codes Constants
  3220. æKL kODErrorOutOfMemory
  3221. kODErrExistingFocusModule
  3222. kODErrFocusNotRegistered
  3223. kODErrInvalidPlatformCanvas
  3224. kODErrCannotCreateContainer
  3225. kODErrInvalidDocument
  3226. kODErrCannotOpenContainer
  3227. kODErrExistingDispatchModule
  3228. kODErrInvalidDispatchModule
  3229. kODErrInvalidDispatchModule
  3230. kODErrCannotCollapseDrafts
  3231. kODErrNonEmptyDraft
  3232. kODErrInvalidBelowDraft
  3233. kODErrInvalidContainer
  3234. kODErrInvalidPermissions
  3235. kODErrInvalidPermissions
  3236. kODErrNoDocumentProperties
  3237. kODErrCannotChangePermissions
  3238. kODInvalidPermissions
  3239. kODErrOutstandingDraft
  3240. kODErrOutstandingDraft
  3241. kODErrCloningInProgress
  3242. kODInvalidDraft
  3243. kODErrCannotCreateFrame
  3244. kODErrCannotCreateLink
  3245. kODErrCannotCreatePart
  3246. kODErrNoDraftProperties
  3247. kODErrCannotGetFrame
  3248. kODErrCannotGetLink
  3249. kODErrCannotGetLink
  3250. kODErrCannotGetPart
  3251. kODErrInvalidRefCount
  3252. kODErrInvalidRefCount
  3253. kODErrInvalidRefCount
  3254. kODErrInvalidRefCount
  3255. kODErrInvalidRefCount
  3256. kODErrInvalidRefCount
  3257. kODErrInvalidRefCount
  3258. kODErrInvalidRefCount
  3259. kODErrInvalidRefCount
  3260. kODErrInvalidStorageUnit
  3261. kODErrInvalidStorageUnit
  3262. kODErrInvalidStorageUnit
  3263. kODErrInvalidStorageUnit
  3264. kODErrInvalidStorageUnit
  3265. kODErrInvalidBase
  3266. kODInvalidFacet
  3267. kODErrInvalidPositionCode
  3268. kODErrInvalidCanvas
  3269. kODErrInvalidFocusModule
  3270. kODErrDraftNotSaved
  3271. <Storage exceptions>
  3272. <Storage exceptions>
  3273. <Storage exceptions>
  3274. <Storage exceptions>
  3275. kODLinkBroken
  3276. kODLinkBroken
  3277. kODErrLinkBroken
  3278. kODErrLinkBroken
  3279. kODErrInvalidLinkKey
  3280. kODErrInvalidLinkKey
  3281. kODErrInvalidLinkKey
  3282. kODErrInvalidLinkKey
  3283. kODErrInvalidLinkKey
  3284. kODErrInvalidLinkKey
  3285. kODErrInvalidLinkKey
  3286. kODErrInvalidLinkKey
  3287. kODErrInvalidLinkKey
  3288. kODErrCorruptLinkSpecValue
  3289. kODErrNoLinkSpecValue
  3290. kXODErrNotAValidPart
  3291. kXODErrNotAValidPart
  3292. kODEResolveError
  3293. kODEInvalidSemanticEvent
  3294. kODEInvalidPart
  3295. kODErrInvalidPart
  3296. kODErrInvalidPart
  3297. errAENoSuchObject
  3298. kODErrKeyAlreadyExists
  3299. kODOutOfMemory
  3300. kODOutOfMemory
  3301. kODOutOfMemory
  3302. kODOutOfMemory
  3303. kODOutOfMemory
  3304. kODErrInvalidExtension
  3305. kODErrInvalidExtension
  3306. kODErrInvalidExtension
  3307. kODErrInvalidKind
  3308. kODErrNotPrepared
  3309. kODErrNotPrepared
  3310. kODErrInvalidLinkData
  3311. kODErrCantLink
  3312. kODErrNotDragging
  3313. kODErrNotDragging
  3314. kODErrNotDragging
  3315. kODErrUnknownCanvasType
  3316. kODErrInvalidFocus
  3317. kODErrInvalidFocus
  3318. kODErrInvalidFocus
  3319. kODErrInvalidFocus
  3320. kODErrInvalidFocus
  3321. kODErrInvalidPromise
  3322. kODErrInvalidFacet
  3323. kODErrInvalidFacet
  3324. kODErrInvalidFacet
  3325. kODErrInvalidFacet
  3326. kODErrInvalidFacet
  3327. kODErrInvalidFacet
  3328. kODErrInvalidFacet
  3329. kODErrInvalidFacet
  3330. kODErrInvalidFacet
  3331. kODErrInvalidFacet
  3332. kODErrInvalidFacet
  3333. kODErrCannotEmbed
  3334. kODErrCannotEmbed
  3335. kODErrCannotEmbed
  3336. kODErrCannotEmbed
  3337. kODErrInvalidLink
  3338. kODErrInvalidLink
  3339. kODErrInvalidFrame
  3340. kODErrInvalidFrame
  3341. kODErrInvalidFrame
  3342. kODErrInvalidFrame
  3343. kODErrInvalidFrame
  3344. kODErrInvalidFrame
  3345. kODErrInvalidFrame
  3346. kODErrInvalidFrame
  3347. kODErrInvalidFrame
  3348. kODErrInvalidFrame
  3349. kODErrInvalidFrame
  3350. kODErrInvalidFrame
  3351. kODErrInvalidFrame
  3352. kODErrInvalidFrame
  3353. kODErrInvalidFrame
  3354. kODErrInvalidFrame
  3355. kODErrInvalidFrame
  3356. kODErrInvalidFrame
  3357. kODErrInvalidFrame
  3358. kODErrInvalidFrame
  3359. kODErrInvalidFrame
  3360. kODErrInvalidFrame
  3361. kODErrInvalidFrame
  3362. kODErrInvalidFrame
  3363. kODErrInvalidFrame
  3364. kODErrInvalidFrame
  3365. kODErrInvalidFrame
  3366. kODErrInvalidFrame
  3367. kODErrInvalidFrame
  3368. kODErrInvalidFrame
  3369. kODErrInvalidFrame
  3370. kODErrInvalidFrame
  3371. kODErrInvalidFrame
  3372. kODErrInvalidFrame
  3373. kODErrInvalidFrame
  3374. kODErrInvalidUndo
  3375. kODErrInvalidUndo
  3376. kODErrInvalidUndo
  3377. kODErrInvalidUndo
  3378. kODErrInvalidUndo
  3379. kODErrZeroRefCount
  3380. kODErrInvalidGraphicsSystem
  3381. kODErrInvalidGraphicsSystem
  3382. kODErrInvalidGraphicsSystem
  3383. kODErrInvalidGraphicsSystem
  3384. kODErrInvalidGraphicsSystem
  3385. kODErrNoShapeGeometry
  3386. kODErrNoShapeGeometry
  3387. kODErrNoGeometry
  3388. kODErrNoGeometry
  3389. kODErrNoGeometry
  3390. kODErrNoGeometry
  3391. kODErrNoGeometry
  3392. errAEHandlerNotFound
  3393. errAEHandlerNotFound
  3394. errAEHandlerNotFound
  3395. errAEHandlerNotFound
  3396. errAENotASpecialFunction
  3397. errAENotASpecialFunction
  3398. errAENotASpecialFunction
  3399. kODCannotCreateContainer
  3400. kODInvalidContainerID
  3401. kODInvalidContainerID
  3402. kODCannotGetContainer
  3403. kODErrCannotAddProperty
  3404. kODErrValueExists
  3405. kODErrCloneNotStarted
  3406. kODErrCloneNotStarted
  3407. kODErrCloneNotStarted
  3408. kODErrCloneNotStarted
  3409. kODErrInvalidDraftKey
  3410. kODErrInvalidDraftKey
  3411. kODErrInvalidDraftKey
  3412. kODErrInvalidDraftKey
  3413. kODErrInvalidDraftKey
  3414. kODErrInvalidDraftKey
  3415. kODErrInvalidValueIndex
  3416. kODErrInvalidValueIndex
  3417. kODErrInvalidPropertyName
  3418. kODErrInvalidPropertyName
  3419. kODErrInvalidPosCode
  3420. kODErrInvalidPosCode
  3421. kODErrInvalidPosCode
  3422. kODErrInvalidStorageUnitRef
  3423. kODErrNotPromise
  3424. kODErrInvalidValue
  3425. kODErrInvalidValue
  3426. kODErrUnfocusedStorageUnit.
  3427. kODUnfocusedStorageUnit
  3428. kODUnfocusedStorageUnit
  3429. kODUnfocusedStorageUnit
  3430. kODUnfocusedStorageUnit
  3431. kODUnfocusedStorageUnit
  3432. kODErrStorageUnitLocked
  3433. kODErrCannotAddType
  3434. kODErrCannotAddType
  3435. kODErrCannotAddType
  3436. kODErrUnfocusedStorageUnit
  3437. kODErrUnfocusedStorageUnit
  3438. kODErrUnfocusedStorageUnit
  3439. kODErrUnfocusedStorageUnit
  3440. kODErrUnfocusedStorageUnit
  3441. kODErrUnfocusedStorageUnit
  3442. kODErrUnfocusedStorageUnit
  3443. kODErrUnfocusedStorageUnit
  3444. kODErrUnfocusedStorageUnit
  3445. kODErrUnfocusedStorageUnit
  3446. kODErrUnfocusedStorageUnit
  3447. kODErrUnfocusedStorageUnit
  3448. kODErrUnfocusedStorageUnit
  3449. kODErrUnfocusedStorageUnit
  3450. kODErrInvalidStorageUnitKey
  3451. kODErrInvalidStorageUnitKey
  3452. kODErrStorageUnitNotLocked
  3453. valueIndex
  3454. valueIndex
  3455. kODErrInvalidProperty
  3456. kODErrInvalidProperty
  3457. kODNotValueFocussed
  3458. kODNotValueFocussed
  3459. kODErrNumericError
  3460. kODErrCannotTranslate
  3461. kODErrCannotTranslate
  3462. kODErrBadTranslationMethod
  3463. kODErrCannotDisposeTranslationMethod
  3464. kODErrCannotDisposeTranslationMethod
  3465. kODErrInvalidType
  3466. kODErrInvalidType
  3467. kODErrInvalidType
  3468. kODErrInvalidType
  3469. kODErrInvalidType
  3470. kODErrInvalidType
  3471. kODErrInvalidType
  3472. kODErrInvalidType
  3473. kODErrIteratorOutOfSync
  3474. kODErrIteratorOutOfSync
  3475. kODErrIteratorOutOfSync
  3476. kODErrIteratorOutOfSync
  3477. kODErrCannotAddAction
  3478. kODErrCannotMarkAction
  3479. kODErrEmptyStack
  3480. kODErrEmptyStack
  3481. kODErrWrongType
  3482. kODErrWrongType
  3483. kODErrInvalidName
  3484. kODErrInvalidName
  3485. kODErrInvalidName
  3486. kODErrInvalidName
  3487. kODErrInvalidName
  3488. kODErrInvalidWindowState
  3489. kODErrInvalidWindowState
  3490. kODErrOutOfMemory
  3491. kODErrOutOfMemory
  3492. kODErrOutOfMemory
  3493. kODErrOutOfMemory
  3494. kODErrOutOfMemory
  3495. kODErrOutOfMemory
  3496. kODErrOutOfMemory
  3497. kODErrOutOfMemory
  3498. kODErrOutOfMemory
  3499. kODErrOutOfMemory
  3500. kODErrOutOfMemory
  3501. kODErrOutOfMemory
  3502. kODErrOutOfMemory
  3503. kODErrOutOfMemory
  3504. kODErrOutOfMemory
  3505. kODErrOutOfMemory
  3506. kODErrOutOfMemory
  3507. kODErrOutOfMemory
  3508. kODErrOutOfMemory
  3509. kODErrOutOfMemory
  3510. kODErrOutOfMemory
  3511. kODErrOutOfMemory
  3512. kODErrOutOfMemory
  3513. kODErrOutOfMemory
  3514. kODErrOutOfMemory
  3515. kODErrOutOfMemory
  3516. kODErrOutOfMemory
  3517. kODErrOutOfMemory
  3518. kODErrOutOfMemory
  3519. kODErrOutOfMemory
  3520. kODErrOutOfMemory
  3521. kODErrOutOfMemory
  3522. kODErrOutOfMemory
  3523. kODErrOutOfMemory
  3524. kODErrOutOfMemory
  3525. kODErrOutOfMemory
  3526. kODErrOutOfMemory
  3527. kODErrOutOfMemory
  3528. kODErrOutOfMemory
  3529. kODErrOutOfMemory
  3530. kODErrOutOfMemory
  3531. kODErrOutOfMemory
  3532. kODErrOutOfMemory
  3533. kODErrOutOfMemory
  3534. kODErrOutOfMemory
  3535. kODErrOutOfMemory
  3536. kODErrOutOfMemory
  3537. kODErrOutOfMemory
  3538. kODErrOutOfMemory
  3539. kODErrOutOfMemory
  3540. kODErrOutOfMemory
  3541. kODErrOutOfMemory
  3542. kODErrOutOfMemory
  3543. kODErrOutOfMemory
  3544. kODErrOutOfMemory
  3545. kODErrOutOfMemory
  3546. kODErrOutOfMemory
  3547. kODErrOutOfMemory
  3548. kODErrOutOfMemory
  3549. kODErrOutOfMemory
  3550. kODErrInvalidDraft
  3551. kODErrInvalidDraft
  3552. kODErrInvalidDraft
  3553. kODErrInvalidDraft
  3554. kODErrInvalidDraft
  3555. kODErrInvalidDraft
  3556. kODErrIllegalNullStorageSystemInput
  3557. kODErrInvalidPersistentObjectID
  3558. kODErrInvalidObjectType
  3559. kODErrIllegalClipboardCloneKind
  3560. æC These are the standard error codes which are returned from the OpenDoc
  3561. API.
  3562.  
  3563. æKY kODErrorOutOfMemory
  3564. æC Out of memory.
  3565.  
  3566. æKY kODErrExistingFocusModule
  3567. æC A focus module already exists for that focus. 
  3568.  
  3569. æKY kODErrFocusNotRegistered
  3570. æC One of the requested foci is not registered.
  3571.  
  3572. æKY kODErrInvalidPlatformCanvas
  3573. æC ODCanvas::ODCanvas,
  3574.  
  3575. æKY kODErrCannotCreateContainer
  3576. æC ODContainer::Create,Cannot create the physical Container.
  3577.  
  3578. æKY kODErrInvalidDocument
  3579. æC ODContainer::GetDocument,Cannot get desired Document because the id is
  3580. invalid.
  3581.  
  3582. æKY kODErrCannotOpenContainer
  3583. æC ODContainer::Open,Cannot open the physical Container.
  3584.  
  3585. æKY kODErrExistingDispatchModule
  3586. æC ODDispatcher::AddDispatchModule,module is already installed.
  3587.  
  3588. æKY kODErrInvalidDispatchModule
  3589. æC ODDispatcher::AddDispatchModule,specified dispatch module is invalid.
  3590.  
  3591. æKY kODErrInvalidDispatchModule
  3592. æC ODDispatcher::AddMonitor,specified dispatch module is invalid.
  3593.  
  3594. æKY kODErrCannotCollapseDrafts
  3595. æC ODDocument::CollapseDrafts,from is not above to.
  3596.  
  3597. æKY kODErrNonEmptyDraft
  3598. æC ODDocument::CollapseDrafts,Non-empty draft between from and to.
  3599.  
  3600. æKY kODErrInvalidBelowDraft
  3601. æC ODDocument::CreateDraft,below is kODNULL  or below is not the Top
  3602. Draft of the Document.
  3603.  
  3604. æKY kODErrInvalidContainer
  3605. æC ODDocument::CreateDraft,Container does not support creation of new
  3606. drafts.
  3607.  
  3608. æKY kODErrInvalidPermissions
  3609. æC ODDocument::CreateDraft,Exclusive-Write-Only below is not released.
  3610.  
  3611. æKY kODErrInvalidPermissions
  3612. æC ODDocument::GetBaseDraft,Invalid permissions.
  3613.  
  3614. æKY kODErrNoDocumentProperties
  3615. æC ODDocument::GetDocumentProperties,Cannot create ODStorageUnit for
  3616. Document Properties.
  3617.  
  3618. æKY kODErrCannotChangePermissions
  3619. æC ODDocument::GetDraft,Cannot change permission on draft if it is gotten
  3620. again with a different permissions.
  3621.  
  3622. æKY kODInvalidPermissions
  3623. æC ODDocument::GetDraft,Invalid permissions.
  3624.  
  3625. æKY kODErrOutstandingDraft
  3626. æC ODDocument::CollapseDrafts,There is one or more outstanding Draft
  3627. (i.e., refCount >= 1) between from and to. 
  3628.  
  3629. æKY kODErrOutstandingDraft
  3630. æC ODDocument::SaveToAPrevDraft,There is one or more outstanding Draft
  3631. between from (exclusive) and to (exclusive).
  3632.  
  3633. æKY kODErrCloningInProgress
  3634. æC ODDraft::BeginClone,Another Clone has started already.
  3635.  
  3636. æKY kODInvalidDraft
  3637. æC ODDraft::ChangedFromPrev,Invalid Draft.
  3638.  
  3639. æKY kODErrCannotCreateFrame
  3640. æC ODDraft::CreateFrame,Cannot create ODFrame object.
  3641.  
  3642. æKY kODErrCannotCreateLink
  3643. æC ODDraft::CreateLinkSource,Cannot create the ODLinkSource or companion
  3644. ODLink object.
  3645.  
  3646. æKY kODErrCannotCreatePart
  3647. æC ODDraft::CreatePart,Cannot create ODPart object.
  3648.  
  3649. æKY kODErrNoDraftProperties
  3650. æC ODDraft::GetDraftProperties,Draft Properties Storage Unit cannot be
  3651. created.
  3652.  
  3653. æKY kODErrCannotGetFrame
  3654. æC ODDraft::GetFrame,Cannot create ODFrame object.
  3655.  
  3656. æKY kODErrCannotGetLink
  3657. æC ODDraft::GetLink,Cannot create ODLink object.
  3658.  
  3659. æKY kODErrCannotGetLink
  3660. æC ODDraft::GetLinkSource,Cannot create ODLink object.
  3661.  
  3662. æKY kODErrCannotGetPart
  3663. æC ODDraft::GetPart,Cannot create ODPart object.
  3664.  
  3665. æKY kODErrInvalidRefCount
  3666. æC ODDocument::GetDraft,draft does not have a valid refCount.
  3667.  
  3668. æKY kODErrInvalidRefCount
  3669. æC ODDraft::ReleaseFrame,RefCount of object is not 0.
  3670.  
  3671. æKY kODErrInvalidRefCount
  3672. æC ODDraft::ReleaseLink,Refcount of link is not 0.
  3673.  
  3674. æKY kODErrInvalidRefCount
  3675. æC ODDraft::ReleasePart,RefCount of part is not 0.
  3676.  
  3677. æKY kODErrInvalidRefCount
  3678. æC ODDraft::ReleaseStorageUnit,Refcount of storageUnit is not 0.
  3679.  
  3680. æKY kODErrInvalidRefCount
  3681. æC ODDraft::RemoveFrame,RefCount of frame is not 1.
  3682.  
  3683. æKY kODErrInvalidRefCount
  3684. æC ODDraft::RemoveLink,Refcount of link is not 1.
  3685.  
  3686. æKY kODErrInvalidRefCount
  3687. æC ODDraft::RemoveLinkSource,Refcount of link is not 1.
  3688.  
  3689. æKY kODErrInvalidRefCount
  3690. æC ODDraft::RemovePart,Refcount of part is not 1.
  3691.  
  3692. æKY kODErrInvalidStorageUnit
  3693. æC ODDraft::RemoveFrame,Invalid ODFrame with no ODStorageUnit associated
  3694. with it.
  3695.  
  3696. æKY kODErrInvalidStorageUnit
  3697. æC ODDraft::RemoveLink,Invalid ODLink with no ODStorageUnit associated
  3698. with it.
  3699.  
  3700. æKY kODErrInvalidStorageUnit
  3701. æC ODDraft::RemoveLinkSource,Invalid ODLinkSource with no ODStorageUnit
  3702. associated with it.
  3703.  
  3704. æKY kODErrInvalidStorageUnit
  3705. æC ODDraft::RemovePart,Invalid ODPart with no ODStorageUnit associated
  3706. with it. 
  3707.  
  3708. æKY kODErrInvalidStorageUnit
  3709. æC ODDraft::RemoveStorageUnit,Invalid storageUnit.
  3710.  
  3711. æKY kODErrInvalidBase
  3712. æC ODExtension::Release,Not a valid base object.
  3713.  
  3714. æKY kODInvalidFacet
  3715. æC ODFacet::CreateEmbeddedFacet,"siblingFacet" is not a child of the
  3716. receiver.
  3717.  
  3718. æKY kODErrInvalidPositionCode
  3719. æC ODFacet::CreateEmbeddedFacet,"position" is not a valid position code.
  3720.  
  3721. æKY kODErrInvalidCanvas
  3722. æC ODFacet::GetCanvas,Neither this facet or any of its parents had a
  3723. canvas.
  3724.  
  3725. æKY kODErrInvalidFocusModule
  3726. æC ODFocusOwnerIterator::InitFocusOwnerIterator,The specified focus
  3727. module is invalid.
  3728.  
  3729. æKY kODErrDraftNotSaved
  3730. æC ODLinkManager::CreateLink,A link could not be created because the
  3731. source document has never been saved.
  3732.  
  3733. æKY <Storage exceptions>
  3734. æC ODLink::Externalize,Storage exceptions may be signalled. 
  3735.  
  3736. æKY <Storage exceptions>
  3737. æC ODLink::InitLinkFromStorage,Exceptions may be raised reading
  3738. persistent properties. 
  3739.  
  3740. æKY <Storage exceptions>
  3741. æC ODLinkSource::Externalize,Storage exceptions may be signalled. 
  3742.  
  3743. æKY <Storage exceptions>
  3744. æC ODLinkSource::InitLinkSourceFromStorage,Exceptions may be raised
  3745. reading persistent properties. 
  3746.  
  3747. æKY kODLinkBroken
  3748. æC ODLink::InitLinkFromStorage,The associated link source object could
  3749. not be found.
  3750.  
  3751. æKY kODLinkBroken
  3752. æC ODLinkSource::InitLinkSourceFromStorage,The associated link  object
  3753. could not be found.
  3754.  
  3755. æKY kODErrLinkBroken
  3756. æC ODLink::ShowSourceContent,Cannot locate the source of the link.
  3757.  
  3758. æKY kODErrLinkBroken
  3759. æC ODLinkSource::ShowSourceContent,Cannot locate the source of the link.
  3760.  
  3761. æKY kODErrInvalidLinkKey
  3762. æC ODLink::CreateLinkEdition,
  3763.  
  3764. æKY kODErrInvalidLinkKey
  3765. æC ODLink::GetContentStorageUnit,
  3766.  
  3767. æKY kODErrInvalidLinkKey
  3768. æC ODLink::GetLinkEdition,
  3769.  
  3770. æKY kODErrInvalidLinkKey
  3771. æC ODLink::Unlock,
  3772.  
  3773. æKY kODErrInvalidLinkKey
  3774. æC ODLink::UpdateLinkEdition,
  3775.  
  3776. æKY kODErrInvalidLinkKey
  3777. æC ODLinkSource::GetContentStorageUnit,
  3778.  
  3779. æKY kODErrInvalidLinkKey
  3780. æC ODLinkSource::ReadLinkEdition,
  3781.  
  3782. æKY kODErrInvalidLinkKey
  3783. æC ODLinkSource::Unlock,
  3784.  
  3785. æKY kODErrInvalidLinkKey
  3786. æC ODLinkSource::UseLinkEdition,
  3787.  
  3788. æKY kODErrCorruptLinkSpecValue
  3789. æC ODLinkSpec::ReadLinkSpec,Focused property contains an invalid link
  3790. specification value.
  3791.  
  3792. æKY kODErrNoLinkSpecValue
  3793. æC ODLinkSpec::ReadLinkSpec,Focused property does not contain a link
  3794. specification value. 
  3795.  
  3796. æKY kXODErrNotAValidPart
  3797. æC ODMessageInterface::CreatePartAddrDesc,ODPart* was not valid.
  3798.  
  3799. æKY kXODErrNotAValidPart
  3800. æC ODMessageInterface::CreatePartObjSpec,ODPart* was not valid.
  3801.  
  3802. æKY kODEResolveError
  3803. æC ODMessageInterface::ProcessSemanticEvent,Couldn't determine correct
  3804. object to dispatch to.
  3805.  
  3806. æKY kODEInvalidSemanticEvent
  3807. æC ODMessageInterface::Send,Invalid AppleEvent (not created with
  3808. ODMessageInterface::CreateEvent ).
  3809.  
  3810. æKY kODEInvalidPart
  3811. æC ODMessageInterface::Send,Invalid part.
  3812.  
  3813. æKY kODErrInvalidPart
  3814. æC ODNameResolver::DisposeToken,Token does not contain a valid part
  3815. description.
  3816.  
  3817. æKY kODErrInvalidPart
  3818. æC ODNameResolver::GetContextInfo,Not a valid part
  3819.  
  3820. æKY errAENoSuchObject
  3821. æC ODNameResolver::Resolve,Invalid ODPart* or part does not support the
  3822. Semantic Interface extension.
  3823.  
  3824. æKY kODErrKeyAlreadyExists
  3825. æC ODNameSpaceManager::CreateNameSpace,An ODNameSpace with that name
  3826. already exists.
  3827.  
  3828. æKY kODOutOfMemory
  3829. æC ODCanvas::ODCanvas,cannot allocate ODCanvas object.
  3830.  
  3831. æKY kODOutOfMemory
  3832. æC ODMessageInterface::CreateEvent,Couldn't allocate memory for the
  3833. event.
  3834.  
  3835. æKY kODOutOfMemory
  3836. æC ODMessageInterface::InitMessageInterface,Not enough memory for needed
  3837. storage.
  3838.  
  3839. æKY kODOutOfMemory
  3840. æC ODNameResolver::Resolve,Couldn't allocate needed internal structures. 
  3841.  
  3842. æKY kODOutOfMemory
  3843. æC ODNameSpaceManager::InitNameSpaceManager,Out of memory.
  3844.  
  3845. æKY kODErrInvalidExtension
  3846. æC ODExtension::CheckValid,This is an invalid extension and should not be
  3847. used by any clients.  The client should attempt to get the extension
  3848. from the same base object she got it from before.
  3849.  
  3850. æKY kODErrInvalidExtension
  3851. æC ODObject::GetExtension,not an extension that this object knows about
  3852.  
  3853. æKY kODErrInvalidExtension
  3854. æC ODObject::ReleaseExtension,not an extension that this object knows
  3855. about
  3856.  
  3857. æKY kODErrInvalidKind
  3858. æC ODPart::ChangeKind,Part does not support that kind of content.
  3859.  
  3860. æKY kODErrNotPrepared
  3861. æC ODPart::AbortRelinquishFocus,Part hasn't prepared to relinqush focus.
  3862.  
  3863. æKY kODErrNotPrepared
  3864. æC ODPart::CommitRelinquishFocus,Part hasn't prepared to relinqush focus.
  3865.  
  3866. æKY kODErrInvalidLinkData
  3867. æC ODPart::CreateLink,Could not identify content for link. 
  3868.  
  3869. æKY kODErrCantLink
  3870. æC ODPart::CreateLink,Part does not support linking protocol.
  3871.  
  3872. æKY kODErrNotDragging
  3873. æC ODPart::DragLeave,Part has not received a DragEnter call.
  3874.  
  3875. æKY kODErrNotDragging
  3876. æC ODPart::DragWithin,Part has not received a DragEnter call.
  3877.  
  3878. æKY kODErrNotDragging
  3879. æC ODPart::Drop,Part hasn't received a DragEnter message.
  3880.  
  3881. æKY kODErrUnknownCanvasType
  3882. æC ODPart::FacetAdded,The part is unable to render itself on the facet's
  3883. canvas.
  3884.  
  3885. æKY kODErrInvalidFocus
  3886. æC ODPart::AbortRelinquishFocus,Part doesn't own this focus.
  3887.  
  3888. æKY kODErrInvalidFocus
  3889. æC ODPart::BeginRelinquishFocus,Part doesn't own this focus.
  3890.  
  3891. æKY kODErrInvalidFocus
  3892. æC ODPart::CommitRelinquishFocus,Part doesn't own this focus.
  3893.  
  3894. æKY kODErrInvalidFocus
  3895. æC ODPart::FocusAcquired,Part cannot own this focus.
  3896.  
  3897. æKY kODErrInvalidFocus
  3898. æC ODPart::FocusLost,Part doesn't own this focus.
  3899.  
  3900. æKY kODErrInvalidPromise
  3901. æC ODPart::FulfillPromise,The part did not make this promise.
  3902.  
  3903. æKY kODErrInvalidFacet
  3904. æC ODFacet::Invalidate,Can't find facet for parent canvas.
  3905.  
  3906. æKY kODErrInvalidFacet
  3907. æC ODFacet::MoveBefore,"child" or "sibling" is not a valid child facet of
  3908. the receiver.
  3909.  
  3910. æKY kODErrInvalidFacet
  3911. æC ODFacet::MoveBehind,"child" or "sibling" is not a valid child facet of
  3912. the receiver.
  3913.  
  3914. æKY kODErrInvalidFacet
  3915. æC ODFacet::RemoveFacet,"facet" is not a child of the receiver.
  3916.  
  3917. æKY kODErrInvalidFacet
  3918. æC ODPart::FacetRemoved,facet is not a facet of this part.
  3919.  
  3920. æKY kODErrInvalidFacet
  3921. æC ODPart::GeometryChanged,facet is not a facet of this part.
  3922.  
  3923. æKY kODErrInvalidFacet
  3924. æC ODPart::HandleEvent,facet is not a facet of this part.
  3925.  
  3926. æKY kODErrInvalidFacet
  3927. æC ODPart::HighlightChanged,"facet" is not a facet of this part.
  3928.  
  3929. æKY kODErrInvalidFacet
  3930. æC ODPart::MouseEnter,facet is not a facet of this part.
  3931.  
  3932. æKY kODErrInvalidFacet
  3933. æC ODPart::MouseLeave,facet is not a facet of this part.
  3934.  
  3935. æKY kODErrInvalidFacet
  3936. æC ODPart::MouseWithin,facet is not a facet of this part.
  3937.  
  3938. æKY kODErrCannotEmbed
  3939. æC ODPart::CreateEmbeddedFramesIterator,This part does not support
  3940. embedding.
  3941.  
  3942. æKY kODErrCannotEmbed
  3943. æC ODPart::GetContainingPartProperties,This part does not support
  3944. embedding.
  3945.  
  3946. æKY kODErrCannotEmbed
  3947. æC ODPart::RemoveEmbeddedFrame,This part does not support embedding.
  3948.  
  3949. æKY kODErrCannotEmbed
  3950. æC ODPart::RequestEmbeddedFrame,This part does not support embedding.
  3951.  
  3952. æKY kODErrInvalidLink
  3953. æC ODPart::LinkUpdated,This isn't one of my links.
  3954.  
  3955. æKY kODErrInvalidLink
  3956. æC ODPart::RevealLink,This isn't one of my links.
  3957.  
  3958. æKY kODErrInvalidFrame
  3959. æC ODArbitrator::RelinquishFocus,
  3960.  
  3961. æKY kODErrInvalidFrame
  3962. æC ODArbitrator::RelinquishFocusSet,
  3963.  
  3964. æKY kODErrInvalidFrame
  3965. æC ODArbitrator::TransferFocus,
  3966.  
  3967. æKY kODErrInvalidFrame
  3968. æC ODArbitrator::TransferFocusSet,
  3969.  
  3970. æKY kODErrInvalidFrame
  3971. æC ODDispatcher::RegisterIdle,The specified frame is invalid
  3972.  
  3973. æKY kODErrInvalidFrame
  3974. æC ODDispatcher::UnregisterIdle,The specified frame is invalid
  3975.  
  3976. æKY kODErrInvalidFrame
  3977. æC ODFocusModule::SetFocusOwnership,The specified frame is invalid 
  3978.  
  3979. æKY kODErrInvalidFrame
  3980. æC ODFocusModule::TransferFocusOwnership,The specified frame is invalid 
  3981.  
  3982. æKY kODErrInvalidFrame
  3983. æC ODFocusModule::UnsetFocusOwnership,The specified frame is invalid
  3984.  
  3985. æKY kODErrInvalidFrame
  3986. æC ODPart::AbortRelinquishFocus,ownerFrame is not a display frame of this
  3987. part.
  3988.  
  3989. æKY kODErrInvalidFrame
  3990. æC ODPart::AdjustBorderShape,embeddedFrame is not an embeddedFrame of
  3991. this part.
  3992.  
  3993. æKY kODErrInvalidFrame
  3994. æC ODPart::AdjustMenus,frame is not a display frame of this part.
  3995.  
  3996. æKY kODErrInvalidFrame
  3997. æC ODPart::AttachSourceFrame,Either frame or sourceFrame is not a display
  3998. frame of this part.
  3999.  
  4000. æKY kODErrInvalidFrame
  4001. æC ODPart::BeginRelinquishFocus,ownerFrame is not a display frame of this
  4002. part.
  4003.  
  4004. æKY kODErrInvalidFrame
  4005. æC ODPart::CommitRelinquishFocus,ownerFrame is not a display frame of
  4006. this part.
  4007.  
  4008. æKY kODErrInvalidFrame
  4009. æC ODPart::CreateEmbeddedFramesIterator,frame is not a display frame of
  4010. this part.
  4011.  
  4012. æKY kODErrInvalidFrame
  4013. æC ODPart::DisplayFrameClosed,frame is not a display frame of this part.
  4014.  
  4015. æKY kODErrInvalidFrame
  4016. æC ODPart::DisplayFrameConnected,frame is not a display frame of this
  4017. part.
  4018.  
  4019. æKY kODErrInvalidFrame
  4020. æC ODPart::DisplayFrameRemoved,frame is not a display frame of this part.
  4021.  
  4022. æKY kODErrInvalidFrame
  4023. æC ODPart::Draw,"frame" isn't one of my display frames.
  4024.  
  4025. æKY kODErrInvalidFrame
  4026. æC ODPart::EmbeddedFrameSpec,embeddedFrame is not an embedded frame of
  4027. this part.
  4028.  
  4029. æKY kODErrInvalidFrame
  4030. æC ODPart::FocusAcquired,ownerFrame is not a display frame of this part.
  4031.  
  4032. æKY kODErrInvalidFrame
  4033. æC ODPart::FocusLost,ownerFrame is not a display frame of this part.
  4034.  
  4035. æKY kODErrInvalidFrame
  4036. æC ODPart::FrameShapeChanged,frame is not a display frame of this part.
  4037.  
  4038. æKY kODErrInvalidFrame
  4039. æC ODPart::GetContainingPartProperties,frame is not an embedded frame of
  4040. this part.
  4041.  
  4042. æKY kODErrInvalidFrame
  4043. æC ODPart::GetPrintResolution,frame is not a display frame of this part.
  4044.  
  4045. æKY kODErrInvalidFrame
  4046. æC ODPart::HandleEvent,frame is not a display frame of this part.
  4047.  
  4048. æKY kODErrInvalidFrame
  4049. æC ODPart::Open,"frame" isn't one of my display frames.
  4050.  
  4051. æKY kODErrInvalidFrame
  4052. æC ODPart::PresentationChanged,"frame" isn't one of my display frames.
  4053.  
  4054. æKY kODErrInvalidFrame
  4055. æC ODPart::ReadPartInfo,frame is not a display frame of this part.
  4056.  
  4057. æKY kODErrInvalidFrame
  4058. æC ODPart::RemoveEmbeddedFrame,frame is not an embedded frame of this
  4059. part.
  4060.  
  4061. æKY kODErrInvalidFrame
  4062. æC ODPart::RevealFrame,frame is not an embedded frame of this part.
  4063.  
  4064. æKY kODErrInvalidFrame
  4065. æC ODPart::SequenceChanged,frame is not a display frame of this part.
  4066.  
  4067. æKY kODErrInvalidFrame
  4068. æC ODPart::UsedShapeChanged,embeddedFrame is not an embeddedFrame of this
  4069. part.
  4070.  
  4071. æKY kODErrInvalidFrame
  4072. æC ODPart::ViewTypeChanged,frame is not a display frame of this part.
  4073.  
  4074. æKY kODErrInvalidUndo
  4075. æC ODPart::DisposeActionState,Not an undo action of this part.
  4076.  
  4077. æKY kODErrInvalidUndo
  4078. æC ODPart::ReadActionState,Not an undo action of this part.
  4079.  
  4080. æKY kODErrInvalidUndo
  4081. æC ODPart::RedoAction,Not an undo action of this part.
  4082.  
  4083. æKY kODErrInvalidUndo
  4084. æC ODPart::UndoAction,Not an undo action of this part.
  4085.  
  4086. æKY kODErrInvalidUndo
  4087. æC ODPart::WriteActionState,Not an undo action of this part.
  4088.  
  4089. æKY kODErrZeroRefCount
  4090. æC ODRefCntObject::Release,The reference count cannot be decremented
  4091. because the reference count is already 0.
  4092.  
  4093. æKY kODErrInvalidGraphicsSystem
  4094. æC ODCanvas::GetPlatformCanvas,The graphics system is unknown; or there
  4095. is no platform canvas associated with this graphics system.
  4096.  
  4097. æKY kODErrInvalidGraphicsSystem
  4098. æC ODCanvas::GetPlatformPrintJob,The graphics system is unknown; or there
  4099. is no print job associated with it.
  4100.  
  4101. æKY kODErrInvalidGraphicsSystem
  4102. æC ODCanvas::SetPlatformCanvas,The graphics system is unknown.
  4103.  
  4104. æKY kODErrInvalidGraphicsSystem
  4105. æC ODShape::GetPlatformShape,Graphics system unknown or not installed.
  4106.  
  4107. æKY kODErrInvalidGraphicsSystem
  4108. æC ODShape::SetPlatformShape,not a valid graphics system.
  4109.  
  4110. æKY kODErrNoShapeGeometry
  4111. æC ODShape::InverseTransform,Shape does not have enough geometric
  4112. information to be transformed in this way.
  4113.  
  4114. æKY kODErrNoShapeGeometry
  4115. æC ODShape::Subtract,Geometry mode is kODNeedsGeometry, but diffShape has
  4116. no geometry.
  4117.  
  4118. æKY kODErrNoGeometry
  4119. æC ODShape::CopyPolygon,Shape cannot be described as a polygon.
  4120.  
  4121. æKY kODErrNoGeometry
  4122. æC ODShape::Intersect,Geometry mode is kODNeedsGeometry, but diffShape
  4123. has no geometry.
  4124.  
  4125. æKY kODErrNoGeometry
  4126. æC ODShape::SetGeometryMode,If mode is set to kODNeedsGeometry but shape
  4127. has no geometry.
  4128.  
  4129. æKY kODErrNoGeometry
  4130. æC ODShape::Transform,Shape doesn't have enough geometric information for
  4131. this transformation.
  4132.  
  4133. æKY kODErrNoGeometry
  4134. æC ODShape::Union,Geometry mode is kODNeedsGeometry, but diffShape has no
  4135. geometry.
  4136.  
  4137. æKY errAEHandlerNotFound
  4138. æC ODSIHelper::GetCoercionHandler,No coercion handler found
  4139.  
  4140. æKY errAEHandlerNotFound
  4141. æC ODSIHelper::GetEventHandler,No handler found for an Apple event
  4142.  
  4143. æKY errAEHandlerNotFound
  4144. æC ODSIHelper::RemoveCoercionHandler,No coercion handler found
  4145.  
  4146. æKY errAEHandlerNotFound
  4147. æC ODSIHelper::RemoveEventHandler,No handler found for an Apple event
  4148.  
  4149. æKY errAENotASpecialFunction
  4150. æC ODSIHelper::GetSpecialHandler,Wrong keyword for a special function
  4151.  
  4152. æKY errAENotASpecialFunction
  4153. æC ODSIHelper::InstallSpecialHandler,Wrong keyword for a special function
  4154.  
  4155. æKY errAENotASpecialFunction
  4156. æC ODSIHelper::RemoveSpecialHandler,Wrong keyword for a special function
  4157.  
  4158. æKY kODCannotCreateContainer
  4159. æC ODStorageSystem::CreateContainer,Invalid Container Type.
  4160.  
  4161. æKY kODInvalidContainerID
  4162. æC ODStorageSystem::CreateContainer,Invalid Container ID.
  4163.  
  4164. æKY kODInvalidContainerID
  4165. æC ODStorageSystem::GetContainer,Invalid Container ID.
  4166.  
  4167. æKY kODCannotGetContainer
  4168. æC ODStorageSystem::GetContainer,Invalid Container Type.
  4169.  
  4170. æKY kODErrCannotAddProperty
  4171. æC ODStorageUnit::AddProperty,Failure to add the given Property.
  4172.  
  4173. æKY kODErrValueExists
  4174. æC ODStorageUnit::AddValue,Value exists alreday.
  4175.  
  4176. æKY kODErrCloneNotStarted
  4177. æC ODLink::CloneTo,A Clone was started unsuccessfully.
  4178.  
  4179. æKY kODErrCloneNotStarted
  4180. æC ODLinkSource::CloneTo,A Clone was started unsuccessfully.
  4181.  
  4182. æKY kODErrCloneNotStarted
  4183. æC ODStorageUnit::CloneInto,A Clone was started unsuccessfully.
  4184.  
  4185. æKY kODErrCloneNotStarted
  4186. æC ODStorageUnit::CloneTo,A Clone was started unsuccessfully.
  4187.  
  4188. æKY kODErrInvalidDraftKey
  4189. æC ODDraft::AbortClone,Invalid Clone.
  4190.  
  4191. æKY kODErrInvalidDraftKey
  4192. æC ODDraft::EndClone,
  4193.  
  4194. æKY kODErrInvalidDraftKey
  4195. æC ODLink::CloneTo,Invalid Clone.
  4196.  
  4197. æKY kODErrInvalidDraftKey
  4198. æC ODLinkSource::CloneTo,Invalid Clone.
  4199.  
  4200. æKY kODErrInvalidDraftKey
  4201. æC ODStorageUnit::CloneInto,Invalid Clone.
  4202.  
  4203. æKY kODErrInvalidDraftKey
  4204. æC ODStorageUnit::CloneTo,Invalid Clone.
  4205.  
  4206. æKY kODErrInvalidValueIndex
  4207. æC ODStorageUnit::Focus,Invalid value index.
  4208.  
  4209. æKY kODErrInvalidValueIndex
  4210. æC ODStorageUnit::Focus,Invalid Value Index.
  4211.  
  4212. æKY kODErrInvalidPropertyName
  4213. æC ODStorageUnit::AddProperty,propertyName is kODNULL 
  4214.  
  4215. æKY kODErrInvalidPropertyName
  4216. æC ODStorageUnit::Focus,No such Property.
  4217.  
  4218. æKY kODErrInvalidPosCode
  4219. æC ODDocument::GetDraft,Invalid relative position.
  4220.  
  4221. æKY kODErrInvalidPosCode
  4222. æC ODStorageUnit::Focus,Invalid position code.
  4223.  
  4224. æKY kODErrInvalidPosCode
  4225. æC ODStorageUnit::Focus,Invalid position code.
  4226.  
  4227. æKY kODErrInvalidStorageUnitRef
  4228. æC ODStorageUnit::GetIDFromStorageUnitRef,Invalid Storage Unit Reference.
  4229.  
  4230. æKY kODErrNotPromise
  4231. æC ODStorageUnit::GetPromiseValue,The Value does not contain a Promise.
  4232.  
  4233. æKY kODErrInvalidValue
  4234. æC ODStorageUnit::GetPromiseValue,Cannot focus to specified Value with
  4235. valueType.
  4236.  
  4237. æKY kODErrInvalidValue
  4238. æC ODStorageUnit::GetType,
  4239.  
  4240. æKY kODErrUnfocusedStorageUnit.
  4241. æC ODStorageUnit::GetType,
  4242.  
  4243. æKY kODUnfocusedStorageUnit
  4244. æC ODStorageUnit::GetGenerationNumber,This ODStorageUnit object is not
  4245. focused to a Value.
  4246.  
  4247. æKY kODUnfocusedStorageUnit
  4248. æC ODStorageUnit::GetIDFromStorageUnitRef,this ODStorageUnit object is
  4249. not focused to a Value.
  4250.  
  4251. æKY kODUnfocusedStorageUnit
  4252. æC ODStorageUnit::GetSize,
  4253.  
  4254. æKY kODUnfocusedStorageUnit
  4255. æC ODStorageUnit::GetStrongStorageUnitRef,
  4256.  
  4257. æKY kODUnfocusedStorageUnit
  4258. æC ODStorageUnit::GetWeakStorageUnitRef,this ODStorageUnit is not focused
  4259. to a Value.
  4260.  
  4261. æKY kODErrStorageUnitLocked
  4262. æC ODStorageUnit::Lock,ODStorageUnit is already locked.
  4263.  
  4264. æKY kODErrCannotAddType
  4265. æC ODStorageUnit::AddValue,Cannot add Type to Storage Unit. 
  4266.  
  4267. æKY kODErrCannotAddType
  4268. æC ODStorageUnit::GetPromiseValue,Invalid valueType.
  4269.  
  4270. æKY kODErrCannotAddType
  4271. æC ODStorageUnit::SetPromiseValue,Invalid Type.
  4272.  
  4273. æKY kODErrUnfocusedStorageUnit
  4274. æC ODStorageUnit::AddValue,This ODStorageUnit is not focused to a
  4275. Property.
  4276.  
  4277. æKY kODErrUnfocusedStorageUnit
  4278. æC ODStorageUnit::CountValues,This ODStorageUnit is not focused to a
  4279. Property.
  4280.  
  4281. æKY kODErrUnfocusedStorageUnit
  4282. æC ODStorageUnit::CreateCursorWithFocus,This ODStorageUnit is not focused
  4283. to a Property or a Value.
  4284.  
  4285. æKY kODErrUnfocusedStorageUnit
  4286. æC ODStorageUnit::DeleteValue,This ODStorageUnit is not focused to a
  4287. Value.
  4288.  
  4289. æKY kODErrUnfocusedStorageUnit
  4290. æC ODStorageUnit::GetOffset,This ODStorageUnit is not focused to a Value.
  4291.  
  4292. æKY kODErrUnfocusedStorageUnit
  4293. æC ODStorageUnit::GetPromiseValue,This ODStorageUnit object is not
  4294. focused to a Property.
  4295.  
  4296. æKY kODErrUnfocusedStorageUnit
  4297. æC ODStorageUnit::GetProperty,this ODStorageUnit is not focused to a
  4298. Property.
  4299.  
  4300. æKY kODErrUnfocusedStorageUnit
  4301. æC ODStorageUnit::IncrementGenerationNumber,this ODStorageUnit is not
  4302. focused to a Value.
  4303.  
  4304. æKY kODErrUnfocusedStorageUnit
  4305. æC ODStorageUnit::InsertValue,this ODStorageUnit is not focused to a
  4306. Value.
  4307.  
  4308. æKY kODErrUnfocusedStorageUnit
  4309. æC ODStorageUnit::RemoveStorageUnitRef,this ODStorageUnit is not focused
  4310. to a Value. 
  4311.  
  4312. æKY kODErrUnfocusedStorageUnit
  4313. æC ODStorageUnit::SetOffset,this ODStorageUnit is not focused to a Value.
  4314.  
  4315. æKY kODErrUnfocusedStorageUnit
  4316. æC ODStorageUnit::SetPromiseValue,this ODStorageUnit is not focused to a
  4317. Property. 
  4318.  
  4319. æKY kODErrUnfocusedStorageUnit
  4320. æC ODStorageUnit::SetType,this ODStorageUnit is not focused to a Value. 
  4321.  
  4322. æKY kODErrUnfocusedStorageUnit
  4323. æC ODStorageUnit::SetValue,this ODStorageUnit is not focused to a Value.
  4324.  
  4325. æKY kODErrInvalidStorageUnitKey
  4326. æC ODStorageUnit::Lock,Invalid ODStorageUnitKey.
  4327.  
  4328. æKY kODErrInvalidStorageUnitKey
  4329. æC ODStorageUnit::Unlock,Invalid ODStorageUnitKey.
  4330.  
  4331. æKY kODErrStorageUnitNotLocked
  4332. æC ODStorageUnit::Unlock,The Storage Unit is not locked.
  4333.  
  4334. æKY valueIndex
  4335. æC ODStorageUnitCursor::GetCursor,Value index for the focus context.
  4336.  
  4337. æKY valueIndex
  4338. æC ODStorageUnitCursor::GetCursor,Value index for the focus context.
  4339.  
  4340. æKY kODErrInvalidProperty
  4341. æC ODStorageUnit::Focus,No such Property.
  4342.  
  4343. æKY kODErrInvalidProperty
  4344. æC ODStorageUnitCursor::InitStorageUnitCursor,Property Name is kODNULL.
  4345.  
  4346. æKY kODNotValueFocussed
  4347. æC ODStorageUnitView::GetIDFromStorageUnitRef,
  4348.  
  4349. æKY kODNotValueFocussed
  4350. æC ODStorageUnitView::GetOffset,
  4351.  
  4352. æKY kODErrNumericError
  4353. æC ODTransform::PreCompose,
  4354.  
  4355. æKY kODErrCannotTranslate
  4356. æC ODTranslation::Translate,Data cannot be translated using the
  4357. ODTranslationMethod.
  4358.  
  4359. æKY kODErrCannotTranslate
  4360. æC ODTranslation::TranslateView,Data cannot be translated using the
  4361. ODTranslationMethod.
  4362.  
  4363. æKY kODErrBadTranslationMethod
  4364. æC ODTranslation::TranslateView, Corrupted ODTranslationMethod.
  4365.  
  4366. æKY kODErrCannotDisposeTranslationMethod
  4367. æC ODTranslation::Translate, TranslationMethod cannot be disposed.
  4368.  
  4369. æKY kODErrCannotDisposeTranslationMethod
  4370. æC ODTranslation::TranslateView, TranslationMethod cannot be disposed.
  4371.  
  4372. æKY kODErrInvalidType
  4373. æC ODStorageUnit::AddValue,type is kODNULL.
  4374.  
  4375. æKY kODErrInvalidType
  4376. æC ODStorageUnit::Exists,Invalid Value Type.
  4377.  
  4378. æKY kODErrInvalidType
  4379. æC ODStorageUnit::Focus,No Value with this Type.
  4380.  
  4381. æKY kODErrInvalidType
  4382. æC ODStorageUnit::Focus,No Value with such Type.
  4383.  
  4384. æKY kODErrInvalidType
  4385. æC ODStorageUnit::GetPromiseValue,valueType is kODNULL.
  4386.  
  4387. æKY kODErrInvalidType
  4388. æC ODStorageUnit::SetPromiseValue,valueType is invalid (kODNULL).
  4389.  
  4390. æKY kODErrInvalidType
  4391. æC ODStorageUnit::SetType,valueType is invalid (i.e., kODNULL).
  4392.  
  4393. æKY kODErrInvalidType
  4394. æC ODTypeList::AddLast,Argument type is not a valid ODType.
  4395.  
  4396. æKY kODErrIteratorOutOfSync
  4397. æC ODPlatformTypeListIterator::First,The ODPlatformTypeList instance was
  4398. changed during the iteration.
  4399.  
  4400. æKY kODErrIteratorOutOfSync
  4401. æC ODPlatformTypeListIterator::Next,The ODPlatformTypeList instance was
  4402. changed during the iteration.
  4403.  
  4404. æKY kODErrIteratorOutOfSync
  4405. æC ODTypeListIterator::First,The ODTypeList instance was changed during
  4406. the iteration.
  4407.  
  4408. æKY kODErrIteratorOutOfSync
  4409. æC ODTypeListIterator::Next,The ODTypeList instance was changed during
  4410. the iteration.
  4411.  
  4412. æKY kODErrCannotAddAction
  4413. æC ODUndo::AddActionToHistory,Currently already doing an undo or redo;
  4414. trying to add a nested begin action.
  4415.  
  4416. æKY kODErrCannotMarkAction
  4417. æC ODUndo::MarkActionHistory,ODUndo was never initialized properly. 
  4418.  
  4419. æKY kODErrEmptyStack
  4420. æC ODUndo::Redo,Redo stack is empty; Undo object was never initialized.
  4421.  
  4422. æKY kODErrEmptyStack
  4423. æC ODUndo::Undo,Undo stack is empty; Undo object was never initialized.
  4424.  
  4425. æKY kODErrWrongType
  4426. æC ODValueIterator::First,this is thrown if the type of the key does not
  4427. match the type of the ODNameSpace with which the iterator was
  4428. initialized.
  4429.  
  4430. æKY kODErrWrongType
  4431. æC ODValueIterator::Next,this is thrown if the type of the key does not
  4432. match the type of the ODNameSpace with which the iterator was
  4433. initialized.
  4434.  
  4435. æKY kODErrInvalidName
  4436. æC ODNameSpace::ReadFromFile,The stored name does not match that of the
  4437. name space.
  4438.  
  4439. æKY kODErrInvalidName
  4440. æC ODNameSpace::ReadFromStorage,The stored name does not match that of
  4441. the name space.
  4442.  
  4443. æKY kODErrInvalidName
  4444. æC ODStorageUnit::Exists,Invalid Property Name. 
  4445.  
  4446. æKY kODErrInvalidName
  4447. æC ODValueNameSpace::ReadFromFile,The stored name does not match that of
  4448. the name space.
  4449.  
  4450. æKY kODErrInvalidName
  4451. æC ODValueNameSpace::ReadFromStorage,The stored name does not match that
  4452. of the name space.
  4453.  
  4454. æKY kODErrInvalidWindowState
  4455. æC ODDragItemIterator::ODDragItemIterator,The specified window state is
  4456. not valid.
  4457.  
  4458. æKY kODErrInvalidWindowState
  4459. æC ODWindowIterator::InitWindowIterator,The specified window state is not
  4460. valid.
  4461.  
  4462. æKY kODErrOutOfMemory
  4463. æC ODArbitrator::CreateOwnerIterator,Out of memory
  4464.  
  4465. æKY kODErrOutOfMemory
  4466. æC ODBinding::InitBinding,Out of memory.
  4467.  
  4468. æKY kODErrOutOfMemory
  4469. æC ODClipboard::ExportClipboard,Out of Memory
  4470.  
  4471. æKY kODErrOutOfMemory
  4472. æC ODClipboard::SetPlatformClipboard,Out of Memory
  4473.  
  4474. æKY kODErrOutOfMemory
  4475. æC ODDispatcher::InitDispatcher,Out of memory
  4476.  
  4477. æKY kODErrOutOfMemory
  4478. æC ODFocusSet::Add,
  4479.  
  4480. æKY kODErrOutOfMemory
  4481. æC ODFocusSetIterator::First,Not enough memory to allocate the
  4482. LinkedListIterator
  4483.  
  4484. æKY kODErrOutOfMemory
  4485. æC ODLink::InitLink,Out of memory.
  4486.  
  4487. æKY kODErrOutOfMemory
  4488. æC ODLink::RegisterDependent,Not enough memory
  4489.  
  4490. æKY kODErrOutOfMemory
  4491. æC ODLinkSource::InitLinkSource,Out of memory.
  4492.  
  4493. æKY kODErrOutOfMemory
  4494. æC ODMenuBar::AddMenuBefore,Out of memory
  4495.  
  4496. æKY kODErrOutOfMemory
  4497. æC ODMenuBar::AddMenuLast,Out of memory
  4498.  
  4499. æKY kODErrOutOfMemory
  4500. æC ODMenuBar::AddSubMenu,Out of memory
  4501.  
  4502. æKY kODErrOutOfMemory
  4503. æC ODMessageInterface::CreateOSAObject,Not enough memory to create the
  4504. object.
  4505.  
  4506. æKY kODErrOutOfMemory
  4507. æC ODNameResolver::CreateSwapToken,Out of Memory
  4508.  
  4509. æKY kODErrOutOfMemory
  4510. æC ODNameSpace::InitNameSpace,Out of memory.
  4511.  
  4512. æKY kODErrOutOfMemory
  4513. æC ODNameSpaceManager::CreateNameSpace,Not enough memory
  4514.  
  4515. æKY kODErrOutOfMemory
  4516. æC ODObjectNameSpace::InitObjectNameSpace,Out of memory.
  4517.  
  4518. æKY kODErrOutOfMemory
  4519. æC ODPart::CreateEmbeddedFramesIterator,Not enough memory to allocate
  4520. iterator.
  4521.  
  4522. æKY kODErrOutOfMemory
  4523. æC ODPart::CreateLink,Not enough memory to allocate link object.
  4524.  
  4525. æKY kODErrOutOfMemory
  4526. æC ODPart::ReadActionState,Not enough memory to internalize data.
  4527.  
  4528. æKY kODErrOutOfMemory
  4529. æC ODPart::ReadPartInfo,Not enough memory to allocate partInfo.
  4530.  
  4531. æKY kODErrOutOfMemory
  4532. æC ODPart::RequestEmbeddedFrame,Not enough memory to embed a part.
  4533.  
  4534. æKY kODErrOutOfMemory
  4535. æC ODPlatformTypeList::ODPlatformTypeList,Could not construct this
  4536. instance.
  4537.  
  4538. æKY kODErrOutOfMemory
  4539. æC ODPlatformTypeList::AddLast,Could not add the argument platform type
  4540. to the list.
  4541.  
  4542. æKY kODErrOutOfMemory
  4543. æC ODPlatformTypeList::CreatePlatformTypeListIterator,Could not create
  4544. the iterator.
  4545.  
  4546. æKY kODErrOutOfMemory
  4547. æC ODPlatformTypeList::InitPlatformTypeList,Could not initialize the
  4548. list.
  4549.  
  4550. æKY kODErrOutOfMemory
  4551. æC ODPlatformTypeListIterator::ODPlatformTypeListIterator,Could not
  4552. construct this instance.
  4553.  
  4554. æKY kODErrOutOfMemory
  4555. æC ODSemanticInterface::ForwardEvent,not enough memory to store event in
  4556. list of forwarded events.
  4557.  
  4558. æKY kODErrOutOfMemory
  4559. æC ODSemanticInterface::InitSemanticInterface,Not enough memory to
  4560. initialize object.
  4561.  
  4562. æKY kODErrOutOfMemory
  4563. æC ODSemanticInterface::SetTerminology,Not enough memory to copy list.
  4564.  
  4565. æKY kODErrOutOfMemory
  4566. æC ODSession::Tokenize,out of memory
  4567.  
  4568. æKY kODErrOutOfMemory
  4569. æC ODShape::Copy,
  4570.  
  4571. æKY kODErrOutOfMemory
  4572. æC ODShape::CopyFrom,Not enough memory to copy shape data.
  4573.  
  4574. æKY kODErrOutOfMemory
  4575. æC ODShape::CopyPolygon,
  4576.  
  4577. æKY kODErrOutOfMemory
  4578. æC ODShape::Intersect,not enough memory to intersect shapes.
  4579.  
  4580. æKY kODErrOutOfMemory
  4581. æC ODShape::IsSameAs,not enough memory to compare shapes.
  4582.  
  4583. æKY kODErrOutOfMemory
  4584. æC ODShape::NewShape,Not enough memory to create a new shape.
  4585.  
  4586. æKY kODErrOutOfMemory
  4587. æC ODShape::Outset,Not enough memory to complete the operation. The shape
  4588. will be unmodified.
  4589.  
  4590. æKY kODErrOutOfMemory
  4591. æC ODShape::Subtract,not enough memory to subtract shapes.
  4592.  
  4593. æKY kODErrOutOfMemory
  4594. æC ODSIHelper::InitSIHelper,Not enough room to allocate internal
  4595. structures.
  4596.  
  4597. æKY kODErrOutOfMemory
  4598. æC ODSIHelper::InstallObjectAccessor,out of memory
  4599.  
  4600. æKY kODErrOutOfMemory
  4601. æC ODTransform::ODTransform,
  4602.  
  4603. æKY kODErrOutOfMemory
  4604. æC ODTransform::Invert,Not enough memory to allocate inverse matrix.
  4605.  
  4606. æKY kODErrOutOfMemory
  4607. æC ODTransform::InvertPoint,Not enough memory to allocate inverse matrix.
  4608.  
  4609. æKY kODErrOutOfMemory
  4610. æC ODTransform::NewTransform,Not enough memory to create a new transform.
  4611.  
  4612. æKY kODErrOutOfMemory
  4613. æC ODTranslation::GetTranslationOf,Cannot create a ODTypeList because the
  4614. system is running out of memory.
  4615.  
  4616. æKY kODErrOutOfMemory
  4617. æC ODTranslation::Translate,Buffer pointed to by toData is not large
  4618. enough to contain the translated data. 
  4619.  
  4620. æKY kODErrOutOfMemory
  4621. æC ODTranslation::TranslateView,Cannot create a buffer to contain the
  4622. translated data because the system is running out of memory.
  4623.  
  4624. æKY kODErrOutOfMemory
  4625. æC ODTypeList::AddLast,Could not add the argument type to the list.
  4626.  
  4627. æKY kODErrOutOfMemory
  4628. æC ODTypeList::CreateTypeListIterator,Could not create the iterator.
  4629.  
  4630. æKY kODErrOutOfMemory
  4631. æC ODTypeList::InitTypeList,Could not initialize the list.
  4632.  
  4633. æKY kODErrOutOfMemory
  4634. æC ODTypeList::InitTypeList ,Could not initialize the list.
  4635.  
  4636. æKY kODErrOutOfMemory
  4637. æC ODTypeListIterator::ODTypeListIterator,Could not construct this
  4638. instance.
  4639.  
  4640. æKY kODErrOutOfMemory
  4641. æC ODUndo::AddActionToHistory,Initialization of ODUndo object failed;
  4642. Couldn't allocate memory for action info. 
  4643.  
  4644. æKY kODErrOutOfMemory
  4645. æC ODUndo::InitUndo,Not enough memory to allocated undo and redo stacks
  4646. and shared memory.
  4647.  
  4648. æKY kODErrOutOfMemory
  4649. æC ODValueIterator::First,Not enough memory to begin the iteration.
  4650.  
  4651. æKY kODErrOutOfMemory
  4652. æC ODValueNameSpace::InitValueNameSpace,Out of memory.
  4653.  
  4654. æKY kODErrOutOfMemory
  4655. æC ODWindowState::Internalize,Out of memory
  4656.  
  4657. æKY kODErrOutOfMemory
  4658. æC ODWindowState::OpenWindows,Out of memory
  4659.  
  4660. æKY kODErrInvalidDraft
  4661. æC ODDocument::SaveToAPrevDraft,from is not above to.
  4662.  
  4663. æKY kODErrInvalidDraft
  4664. æC ODWindowState::CloseWindows,The specified draft is not valid.
  4665.  
  4666. æKY kODErrInvalidDraft
  4667. æC ODWindowState::Externalize,The specified draft is not valid.
  4668.  
  4669. æKY kODErrInvalidDraft
  4670. æC ODWindowState::Internalize,The specified draft is not valid.
  4671.  
  4672. æKY kODErrInvalidDraft
  4673. æC ODWindowState::OpenWindows,The specified draft is not valid.
  4674.  
  4675. æKY kODErrInvalidDraft
  4676. æC ODWindowState::SetDefaultWindowTitles,The specified draft is not
  4677. valid.
  4678.  
  4679. æKY kODErrIllegalNullStorageSystemInput
  4680. æC Null Storage System object pointer.
  4681.  
  4682. æKY kODErrInvalidPersistentObjectID
  4683. æC ID does not correspond to any Persistent Object.
  4684.  
  4685. æKY kODErrInvalidObjectType
  4686. æC Not a pre-defined ObjectType.
  4687.  
  4688. æKY kODErrIllegalClipboardCloneKind
  4689. æC The cloneKind argument to ODClipboard::ActionDone, ActionUndone, or
  4690. ActionRedone is not kODCloneCopy, kODCloneCut, or kODClone paste. 
  4691.  
  4692. æKY Error Codes2 Constants
  4693. æKL kODErrInvalidDraft
  4694. kODErrOutOfMemory
  4695. kODErrInvalidDraft
  4696. kODErrOutOfMemory
  4697. kODErrInvalidDraft
  4698. kODErrInvalidDraft
  4699. kODErrInvalidDraft
  4700. kODErrInvalidWindowState
  4701. kODErrInvalidName
  4702. kODErrInvalidName
  4703. kODErrOutOfMemory
  4704. kODErrWrongType
  4705. kODErrOutOfMemory
  4706. kODErrWrongType
  4707. kODErrEmptyStack
  4708. kODErrEmptyStack
  4709. kODErrCannotMarkAction
  4710. kODErrOutOfMemory
  4711. kODErrOutOfMemory
  4712. kODErrCannotAddAction
  4713. kODErrIteratorOutOfSync
  4714. kODErrIteratorOutOfSync
  4715. kODErrOutOfMemory
  4716. kODErrOutOfMemory
  4717. kODErrOutOfMemory
  4718. kODErrOutOfMemory
  4719. kODErrInvalidType
  4720. kODErrOutOfMemory
  4721. kODErrCannotDisposeTranslationMethod
  4722. kODErrBadTranslationMethod
  4723. kODErrOutOfMemory
  4724. kODErrCannotTranslate
  4725. kODErrCannotDisposeTranslationMethod
  4726. kODErrOutOfMemory
  4727. kODErrCannotTranslate
  4728. kODErrOutOfMemory
  4729. kODErrNumericError
  4730. kODErrOutOfMemory
  4731. kODErrOutOfMemory
  4732. kODErrOutOfMemory
  4733. kODErrOutOfMemory
  4734. kODNotValueFocussed
  4735. kODNotValueFocussed
  4736. kODErrInvalidProperty
  4737. kODErrStorageUnitNotLocked
  4738. kODErrInvalidStorageUnitKey
  4739. kODErrUnfocusedStorageUnit
  4740. kODErrInvalidType
  4741. kODErrUnfocusedStorageUnit
  4742. kODErrCannotAddType
  4743. kODErrUnfocusedStorageUnit
  4744. kODErrInvalidType
  4745. kODErrUnfocusedStorageUnit
  4746. kODErrUnfocusedStorageUnit
  4747. kODErrInvalidStorageUnitKey
  4748. kODErrStorageUnitLocked
  4749. kODErrUnfocusedStorageUnit
  4750. kODErrUnfocusedStorageUnit
  4751. kODUnfocusedStorageUnit
  4752. kODErrUnfocusedStorageUnit.
  4753. kODErrInvalidValue
  4754. kODUnfocusedStorageUnit
  4755. kODUnfocusedStorageUnit
  4756. kODErrUnfocusedStorageUnit
  4757. kODErrUnfocusedStorageUnit
  4758. kODErrInvalidType
  4759. kODErrCannotAddType
  4760. kODErrInvalidValue
  4761. kODErrNotPromise
  4762. kODErrUnfocusedStorageUnit
  4763. kODErrInvalidStorageUnitRef
  4764. kODUnfocusedStorageUnit
  4765. kODUnfocusedStorageUnit
  4766. kODErrInvalidPosCode
  4767. kODErrInvalidPropertyName
  4768. kODErrInvalidType
  4769. kODErrInvalidValueIndex
  4770. kODErrInvalidPosCode
  4771. kODErrInvalidProperty
  4772. kODErrInvalidType
  4773. kODErrInvalidValueIndex
  4774. kODErrInvalidType
  4775. kODErrInvalidName
  4776. kODErrUnfocusedStorageUnit
  4777. kODErrUnfocusedStorageUnit
  4778. kODErrUnfocusedStorageUnit
  4779. kODErrInvalidDraftKey
  4780. kODErrCloneNotStarted
  4781. kODErrInvalidDraftKey
  4782. kODErrCloneNotStarted
  4783. kODErrCannotAddType
  4784. kODErrValueExists
  4785. kODErrUnfocusedStorageUnit
  4786. kODErrInvalidType
  4787. kODErrCannotAddProperty
  4788. kODErrInvalidPropertyName
  4789. kODCannotGetContainer
  4790. kODInvalidContainerID
  4791. kODCannotCreateContainer
  4792. kODInvalidContainerID
  4793. errAENotASpecialFunction
  4794. errAEHandlerNotFound
  4795. errAEHandlerNotFound
  4796. errAENotASpecialFunction
  4797. kODErrOutOfMemory
  4798. kODErrOutOfMemory
  4799. errAENotASpecialFunction
  4800. errAEHandlerNotFound
  4801. errAEHandlerNotFound
  4802. kODErrNoGeometry
  4803. kODErrNoGeometry
  4804. kODErrNoShapeGeometry
  4805. kODErrOutOfMemory
  4806. kODErrInvalidGraphicsSystem
  4807. kODErrNoGeometry
  4808. kODErrOutOfMemory
  4809. kODErrOutOfMemory
  4810. kODErrOutOfMemory
  4811. kODErrNoShapeGeometry
  4812. kODErrNoGeometry
  4813. kODErrOutOfMemory
  4814. kODErrInvalidGraphicsSystem
  4815. kODErrNoGeometry
  4816. kODErrOutOfMemory
  4817. kODErrOutOfMemory
  4818. kODErrOutOfMemory
  4819. kODErrOutOfMemory
  4820. kODErrOutOfMemory
  4821. kODErrOutOfMemory
  4822. kODErrOutOfMemory
  4823. kODErrZeroRefCount
  4824. kODErrIteratorOutOfSync
  4825. kODErrIteratorOutOfSync
  4826. kODErrOutOfMemory
  4827. kODErrOutOfMemory
  4828. kODErrOutOfMemory
  4829. kODErrOutOfMemory
  4830. kODErrOutOfMemory
  4831. kODErrInvalidUndo
  4832. kODErrInvalidFrame
  4833. kODErrInvalidFrame
  4834. kODErrInvalidUndo
  4835. kODErrInvalidFrame
  4836. kODErrInvalidLink
  4837. kODErrInvalidFrame
  4838. kODErrOutOfMemory
  4839. kODErrCannotEmbed
  4840. kODErrInvalidFrame
  4841. kODErrCannotEmbed
  4842. kODErrInvalidUndo
  4843. kODErrOutOfMemory
  4844. kODErrInvalidFrame
  4845. kODErrOutOfMemory
  4846. kODErrInvalidUndo
  4847. kODErrInvalidFrame
  4848. kODErrInvalidFrame
  4849. kODErrInvalidFacet
  4850. kODErrInvalidFacet
  4851. kODErrInvalidFacet
  4852. kODErrInvalidLink
  4853. kODErrInvalidFacet
  4854. kODErrInvalidFacet
  4855. kODErrInvalidFrame
  4856. kODErrInvalidFrame
  4857. kODErrInvalidFrame
  4858. kODErrCannotEmbed
  4859. kODErrInvalidFacet
  4860. kODErrInvalidPromise
  4861. kODErrInvalidFrame
  4862. kODErrInvalidFrame
  4863. kODErrInvalidFocus
  4864. kODErrInvalidFrame
  4865. kODErrInvalidFocus
  4866. kODErrInvalidFacet
  4867. kODErrUnknownCanvasType
  4868. kODErrInvalidFrame
  4869. kODErrNotDragging
  4870. kODErrInvalidFrame
  4871. kODErrNotDragging
  4872. kODErrNotDragging
  4873. kODErrInvalidUndo
  4874. kODErrInvalidFrame
  4875. kODErrInvalidFrame
  4876. kODErrInvalidFrame
  4877. kODErrOutOfMemory
  4878. kODErrCantLink
  4879. kODErrInvalidLinkData
  4880. kODErrInvalidFrame
  4881. kODErrOutOfMemory
  4882. kODErrCannotEmbed
  4883. kODErrInvalidFrame
  4884. kODErrInvalidFocus
  4885. kODErrNotPrepared
  4886. kODErrInvalidKind
  4887. kODErrInvalidFrame
  4888. kODErrInvalidFocus
  4889. kODErrInvalidFrame
  4890. kODErrInvalidFrame
  4891. kODErrInvalidFrame
  4892. kODErrInvalidFrame
  4893. kODErrInvalidFocus
  4894. kODErrNotPrepared
  4895. kODErrOutOfMemory
  4896. kODErrInvalidExtension
  4897. kODErrInvalidExtension
  4898. kODOutOfMemory
  4899. kODErrKeyAlreadyExists
  4900. kODErrOutOfMemory
  4901. kODErrInvalidName
  4902. kODErrInvalidName
  4903. kODErrOutOfMemory
  4904. kODOutOfMemory
  4905. errAENoSuchObject
  4906. kODErrInvalidPart
  4907. kODErrInvalidPart
  4908. kODErrOutOfMemory
  4909. kODEInvalidPart
  4910. kODEInvalidSemanticEvent
  4911. kODEResolveError
  4912. kODOutOfMemory
  4913. kXODErrNotAValidPart
  4914. kXODErrNotAValidPart
  4915. kODErrOutOfMemory
  4916. kODOutOfMemory
  4917. kODErrOutOfMemory
  4918. kODErrOutOfMemory
  4919. kODErrOutOfMemory
  4920. kODErrNoLinkSpecValue
  4921. kODErrCorruptLinkSpecValue
  4922. kODErrInvalidLinkKey
  4923. kODErrInvalidLinkKey
  4924. kODErrLinkBroken
  4925. kODErrInvalidLinkKey
  4926. kODLinkBroken
  4927. kODErrOutOfMemory
  4928. kODErrInvalidLinkKey
  4929. kODErrInvalidDraftKey
  4930. kODErrCloneNotStarted
  4931. kODErrDraftNotSaved
  4932. kODErrInvalidLinkKey
  4933. kODErrInvalidLinkKey
  4934. kODErrLinkBroken
  4935. kODErrOutOfMemory
  4936. kODLinkBroken
  4937. kODErrOutOfMemory
  4938. kODErrInvalidLinkKey
  4939. kODErrInvalidLinkKey
  4940. kODErrInvalidLinkKey
  4941. kODErrInvalidDraftKey
  4942. kODErrCloneNotStarted
  4943. kODErrOutOfMemory
  4944. kODErrOutOfMemory
  4945. kODErrInvalidFocusModule
  4946. kODErrInvalidFrame
  4947. kODErrInvalidFrame
  4948. kODErrInvalidFrame
  4949. kODErrInvalidFacet
  4950. kODErrInvalidFacet
  4951. kODErrInvalidFacet
  4952. kODErrInvalidFacet
  4953. kODErrInvalidCanvas
  4954. kODErrInvalidPositionCode
  4955. kODInvalidFacet
  4956. kODErrInvalidBase
  4957. kODErrInvalidExtension
  4958. kODErrInvalidWindowState
  4959. kODErrInvalidStorageUnit
  4960. kODErrInvalidStorageUnit
  4961. kODErrInvalidRefCount
  4962. kODErrInvalidStorageUnit
  4963. kODErrInvalidRefCount
  4964. kODErrInvalidStorageUnit
  4965. kODErrInvalidRefCount
  4966. kODErrInvalidRefCount
  4967. kODErrInvalidStorageUnit
  4968. kODErrInvalidRefCount
  4969. kODErrInvalidRefCount
  4970. kODErrInvalidRefCount
  4971. kODErrInvalidRefCount
  4972. kODErrCannotGetPart
  4973. kODErrCannotGetLink
  4974. kODErrCannotGetLink
  4975. kODErrCannotGetFrame
  4976. kODErrNoDraftProperties
  4977. kODErrInvalidDraftKey
  4978. kODErrCannotCreatePart
  4979. kODErrCannotCreateLink
  4980. kODErrCannotCreateFrame
  4981. kODInvalidDraft
  4982. kODErrCloningInProgress
  4983. kODErrInvalidDraftKey
  4984. kODErrOutstandingDraft
  4985. kODErrInvalidDraft
  4986. kODErrInvalidPosCode
  4987. kODInvalidPermissions
  4988. kODErrInvalidRefCount
  4989. kODErrCannotChangePermissions
  4990. kODErrNoDocumentProperties
  4991. kODErrInvalidPermissions
  4992. kODErrInvalidPermissions
  4993. kODErrInvalidContainer
  4994. kODErrInvalidBelowDraft
  4995. kODErrOutstandingDraft
  4996. kODErrNonEmptyDraft
  4997. kODErrCannotCollapseDrafts
  4998. kODErrInvalidFrame
  4999. kODErrInvalidFrame
  5000. kODErrOutOfMemory
  5001. kODErrInvalidDispatchModule
  5002. kODErrExistingDispatchModule
  5003. kODErrInvalidDispatchModule
  5004. kODErrExistingDispatchModule
  5005. kODErrCannotOpenContainer
  5006. kODErrInvalidDocument
  5007. kODErrCannotCreateContainer
  5008. kODErrInvalidClipboardKey
  5009. kODErrOutOfMemory
  5010. kODErrInvalidClipboardKey
  5011. kODErrInvalidClipboardKey
  5012. kODErrOutOfMemory
  5013. kODErrInvalidClipboardKey
  5014. kODErrInvalidGraphicsSystem
  5015. kODErrInvalidGraphicsSystem
  5016. kODErrInvalidGraphicsSystem
  5017. kODOutOfMemory
  5018. kODErrInvalidPlatformCanvas
  5019. kODErrOutOfMemory
  5020. kODErrInvalidFrame
  5021. kODErrInvalidFocusSet
  5022. kODErrInvalidFrame
  5023. kODErrFocusNotRegistered
  5024. kODErrFocusNotRegistered
  5025. kODErrInvalidFrame
  5026. kODErrInvalidFocusSet
  5027. kODErrInvalidFrame
  5028. kODErrExistingFocusModule
  5029. kODErrorOutOfMemory
  5030. kODErrOutOfMemory
  5031. æC These are the standard error codes which are returned from the OpenDoc
  5032. API.
  5033.  
  5034. æKY kODErrInvalidDraft
  5035. æC ODWindowState::SetDefaultWindowTitles,The specified draft is not
  5036. valid.
  5037.  
  5038. æKY kODErrOutOfMemory
  5039. æC ODWindowState::OpenWindows,Out of memory
  5040.  
  5041. æKY kODErrInvalidDraft
  5042. æC ODWindowState::OpenWindows,The specified draft is not valid.
  5043.  
  5044. æKY kODErrOutOfMemory
  5045. æC ODWindowState::Internalize,Out of memory
  5046.  
  5047. æKY kODErrInvalidDraft
  5048. æC ODWindowState::Internalize,The specified draft is not valid.
  5049.  
  5050. æKY kODErrInvalidDraft
  5051. æC ODWindowState::Externalize,The specified draft is not valid.
  5052.  
  5053. æKY kODErrInvalidDraft
  5054. æC ODWindowState::CloseWindows,The specified draft is not valid.
  5055.  
  5056. æKY kODErrInvalidWindowState
  5057. æC ODWindowIterator::InitWindowIterator,The specified window state is not
  5058. valid.
  5059.  
  5060. æKY kODErrInvalidName
  5061. æC ODValueNameSpace::ReadFromStorage,The stored name does not match that
  5062. of the name space.
  5063.  
  5064. æKY kODErrInvalidName
  5065. æC ODValueNameSpace::ReadFromFile,The stored name does not match that of
  5066. the name space.
  5067.  
  5068. æKY kODErrOutOfMemory
  5069. æC ODValueNameSpace::InitValueNameSpace,Out of memory.
  5070.  
  5071. æKY kODErrWrongType
  5072. æC ODValueIterator::Next,this is thrown if the type of the key does not
  5073. match the type of the ODNameSpace with which the iterator was
  5074. initialized.
  5075.  
  5076. æKY kODErrOutOfMemory
  5077. æC ODValueIterator::First,Not enough memory to begin the iteration.
  5078.  
  5079. æKY kODErrWrongType
  5080. æC ODValueIterator::First,this is thrown if the type of the key does not
  5081. match the type of the ODNameSpace with which the iterator was
  5082. initialized.
  5083.  
  5084. æKY kODErrEmptyStack
  5085. æC ODUndo::Undo,Undo stack is empty; Undo object was never initialized.
  5086.  
  5087. æKY kODErrEmptyStack
  5088. æC ODUndo::Redo,Redo stack is empty; Undo object was never initialized.
  5089.  
  5090. æKY kODErrCannotMarkAction
  5091. æC ODUndo::MarkActionHistory,ODUndo was never initialized properly. 
  5092.  
  5093. æKY kODErrOutOfMemory
  5094. æC ODUndo::InitUndo,Not enough memory to allocated undo and redo stacks
  5095. and shared memory.
  5096.  
  5097. æKY kODErrOutOfMemory
  5098. æC ODUndo::AddActionToHistory,Initialization of ODUndo object failed;
  5099. Couldn't allocate memory for action info. 
  5100.  
  5101. æKY kODErrCannotAddAction
  5102. æC ODUndo::AddActionToHistory,Currently already doing an undo or redo;
  5103. trying to add a nested begin action.
  5104.  
  5105. æKY kODErrIteratorOutOfSync
  5106. æC ODTypeListIterator::Next,The ODTypeList instance was changed during
  5107. the iteration.
  5108.  
  5109. æKY kODErrIteratorOutOfSync
  5110. æC ODTypeListIterator::First,The ODTypeList instance was changed during
  5111. the iteration.
  5112.  
  5113. æKY kODErrOutOfMemory
  5114. æC ODTypeListIterator::ODTypeListIterator,Could not construct this
  5115. instance.
  5116.  
  5117. æKY kODErrOutOfMemory
  5118. æC ODTypeList::InitTypeList ,Could not initialize the list.
  5119.  
  5120. æKY kODErrOutOfMemory
  5121. æC ODTypeList::InitTypeList,Could not initialize the list.
  5122.  
  5123. æKY kODErrOutOfMemory
  5124. æC ODTypeList::CreateTypeListIterator,Could not create the iterator.
  5125.  
  5126. æKY kODErrInvalidType
  5127. æC ODTypeList::AddLast,Argument type is not a valid ODType.
  5128.  
  5129. æKY kODErrOutOfMemory
  5130. æC ODTypeList::AddLast,Could not add the argument type to the list.
  5131.  
  5132. æKY kODErrCannotDisposeTranslationMethod
  5133. æC ODTranslation::TranslateView, TranslationMethod cannot be disposed.
  5134.  
  5135. æKY kODErrBadTranslationMethod
  5136. æC ODTranslation::TranslateView, Corrupted ODTranslationMethod.
  5137.  
  5138. æKY kODErrOutOfMemory
  5139. æC ODTranslation::TranslateView,Cannot create a buffer to contain the
  5140. translated data because the system is running out of memory.
  5141.  
  5142. æKY kODErrCannotTranslate
  5143. æC ODTranslation::TranslateView,Data cannot be translated using the
  5144. ODTranslationMethod.
  5145.  
  5146. æKY kODErrCannotDisposeTranslationMethod
  5147. æC ODTranslation::Translate, TranslationMethod cannot be disposed.
  5148.  
  5149. æKY kODErrOutOfMemory
  5150. æC ODTranslation::Translate,Buffer pointed to by toData is not large
  5151. enough to contain the translated data. 
  5152.  
  5153. æKY kODErrCannotTranslate
  5154. æC ODTranslation::Translate,Data cannot be translated using the
  5155. ODTranslationMethod.
  5156.  
  5157. æKY kODErrOutOfMemory
  5158. æC ODTranslation::GetTranslationOf,Cannot create a ODTypeList because the
  5159. system is running out of memory.
  5160.  
  5161. æKY kODErrNumericError
  5162. æC ODTransform::PreCompose,
  5163.  
  5164. æKY kODErrOutOfMemory
  5165. æC ODTransform::NewTransform,Not enough memory to create a new transform.
  5166.  
  5167. æKY kODErrOutOfMemory
  5168. æC ODTransform::InvertPoint,Not enough memory to allocate inverse matrix.
  5169.  
  5170. æKY kODErrOutOfMemory
  5171. æC ODTransform::Invert,Not enough memory to allocate inverse matrix.
  5172.  
  5173. æKY kODErrOutOfMemory
  5174. æC ODTransform::ODTransform,
  5175.  
  5176. æKY kODNotValueFocussed
  5177. æC ODStorageUnitView::GetOffset,
  5178.  
  5179. æKY kODNotValueFocussed
  5180. æC ODStorageUnitView::GetIDFromStorageUnitRef,
  5181.  
  5182. æKY kODErrInvalidProperty
  5183. æC ODStorageUnitCursor::InitStorageUnitCursor,Property Name is kODNULL.
  5184.  
  5185. æKY kODErrStorageUnitNotLocked
  5186. æC ODStorageUnit::Unlock,The Storage Unit is not locked.
  5187.  
  5188. æKY kODErrInvalidStorageUnitKey
  5189. æC ODStorageUnit::Unlock,Invalid ODStorageUnitKey.
  5190.  
  5191. æKY kODErrUnfocusedStorageUnit
  5192. æC ODStorageUnit::SetValue,this ODStorageUnit is not focused to a Value.
  5193.  
  5194. æKY kODErrInvalidType
  5195. æC ODStorageUnit::SetType,valueType is invalid (i.e., kODNULL).
  5196.  
  5197. æKY kODErrUnfocusedStorageUnit
  5198. æC ODStorageUnit::SetType,this ODStorageUnit is not focused to a Value. 
  5199.  
  5200. æKY kODErrCannotAddType
  5201. æC ODStorageUnit::SetPromiseValue,Invalid Type.
  5202.  
  5203. æKY kODErrUnfocusedStorageUnit
  5204. æC ODStorageUnit::SetPromiseValue,this ODStorageUnit is not focused to a
  5205. Property. 
  5206.  
  5207. æKY kODErrInvalidType
  5208. æC ODStorageUnit::SetPromiseValue,valueType is invalid (kODNULL).
  5209.  
  5210. æKY kODErrUnfocusedStorageUnit
  5211. æC ODStorageUnit::SetOffset,this ODStorageUnit is not focused to a Value.
  5212.  
  5213. æKY kODErrUnfocusedStorageUnit
  5214. æC ODStorageUnit::RemoveStorageUnitRef,this ODStorageUnit is not focused
  5215. to a Value. 
  5216.  
  5217. æKY kODErrInvalidStorageUnitKey
  5218. æC ODStorageUnit::Lock,Invalid ODStorageUnitKey.
  5219.  
  5220. æKY kODErrStorageUnitLocked
  5221. æC ODStorageUnit::Lock,ODStorageUnit is already locked.
  5222.  
  5223. æKY kODErrUnfocusedStorageUnit
  5224. æC ODStorageUnit::InsertValue,this ODStorageUnit is not focused to a
  5225. Value.
  5226.  
  5227. æKY kODErrUnfocusedStorageUnit
  5228. æC ODStorageUnit::IncrementGenerationNumber,this ODStorageUnit is not
  5229. focused to a Value.
  5230.  
  5231. æKY kODUnfocusedStorageUnit
  5232. æC ODStorageUnit::GetWeakStorageUnitRef,this ODStorageUnit is not focused
  5233. to a Value.
  5234.  
  5235. æKY kODErrUnfocusedStorageUnit.
  5236. æC ODStorageUnit::GetType,
  5237.  
  5238. æKY kODErrInvalidValue
  5239. æC ODStorageUnit::GetType,
  5240.  
  5241. æKY kODUnfocusedStorageUnit
  5242. æC ODStorageUnit::GetStrongStorageUnitRef,
  5243.  
  5244. æKY kODUnfocusedStorageUnit
  5245. æC ODStorageUnit::GetSize,
  5246.  
  5247. æKY kODErrUnfocusedStorageUnit
  5248. æC ODStorageUnit::GetProperty,this ODStorageUnit is not focused to a
  5249. Property.
  5250.  
  5251. æKY kODErrUnfocusedStorageUnit
  5252. æC ODStorageUnit::GetPromiseValue,This ODStorageUnit object is not
  5253. focused to a Property.
  5254.  
  5255. æKY kODErrInvalidType
  5256. æC ODStorageUnit::GetPromiseValue,valueType is kODNULL.
  5257.  
  5258. æKY kODErrCannotAddType
  5259. æC ODStorageUnit::GetPromiseValue,Invalid valueType.
  5260.  
  5261. æKY kODErrInvalidValue
  5262. æC ODStorageUnit::GetPromiseValue,Cannot focus to specified Value with
  5263. valueType.
  5264.  
  5265. æKY kODErrNotPromise
  5266. æC ODStorageUnit::GetPromiseValue,The Value does not contain a Promise.
  5267.  
  5268. æKY kODErrUnfocusedStorageUnit
  5269. æC ODStorageUnit::GetOffset,This ODStorageUnit is not focused to a Value.
  5270.  
  5271. æKY kODErrInvalidStorageUnitRef
  5272. æC ODStorageUnit::GetIDFromStorageUnitRef,Invalid Storage Unit Reference.
  5273.  
  5274. æKY kODUnfocusedStorageUnit
  5275. æC ODStorageUnit::GetIDFromStorageUnitRef,this ODStorageUnit object is
  5276. not focused to a Value.
  5277.  
  5278. æKY kODUnfocusedStorageUnit
  5279. æC ODStorageUnit::GetGenerationNumber,This ODStorageUnit object is not
  5280. focused to a Value.
  5281.  
  5282. æKY kODErrInvalidPosCode
  5283. æC ODStorageUnit::Focus,Invalid position code.
  5284.  
  5285. æKY kODErrInvalidPropertyName
  5286. æC ODStorageUnit::Focus,No such Property.
  5287.  
  5288. æKY kODErrInvalidType
  5289. æC ODStorageUnit::Focus,No Value with such Type.
  5290.  
  5291. æKY kODErrInvalidValueIndex
  5292. æC ODStorageUnit::Focus,Invalid Value Index.
  5293.  
  5294. æKY kODErrInvalidPosCode
  5295. æC ODStorageUnit::Focus,Invalid position code.
  5296.  
  5297. æKY kODErrInvalidProperty
  5298. æC ODStorageUnit::Focus,No such Property.
  5299.  
  5300. æKY kODErrInvalidType
  5301. æC ODStorageUnit::Focus,No Value with this Type.
  5302.  
  5303. æKY kODErrInvalidValueIndex
  5304. æC ODStorageUnit::Focus,Invalid value index.
  5305.  
  5306. æKY kODErrInvalidType
  5307. æC ODStorageUnit::Exists,Invalid Value Type.
  5308.  
  5309. æKY kODErrInvalidName
  5310. æC ODStorageUnit::Exists,Invalid Property Name. 
  5311.  
  5312. æKY kODErrUnfocusedStorageUnit
  5313. æC ODStorageUnit::DeleteValue,This ODStorageUnit is not focused to a
  5314. Value.
  5315.  
  5316. æKY kODErrUnfocusedStorageUnit
  5317. æC ODStorageUnit::CreateCursorWithFocus,This ODStorageUnit is not focused
  5318. to a Property or a Value.
  5319.  
  5320. æKY kODErrUnfocusedStorageUnit
  5321. æC ODStorageUnit::CountValues,This ODStorageUnit is not focused to a
  5322. Property.
  5323.  
  5324. æKY kODErrInvalidDraftKey
  5325. æC ODStorageUnit::CloneTo,Invalid Clone.
  5326.  
  5327. æKY kODErrCloneNotStarted
  5328. æC ODStorageUnit::CloneTo,A Clone was started unsuccessfully.
  5329.  
  5330. æKY kODErrInvalidDraftKey
  5331. æC ODStorageUnit::CloneInto,Invalid Clone.
  5332.  
  5333. æKY kODErrCloneNotStarted
  5334. æC ODStorageUnit::CloneInto,A Clone was started unsuccessfully.
  5335.  
  5336. æKY kODErrCannotAddType
  5337. æC ODStorageUnit::AddValue,Cannot add Type to Storage Unit. 
  5338.  
  5339. æKY kODErrValueExists
  5340. æC ODStorageUnit::AddValue,Value exists alreday.
  5341.  
  5342. æKY kODErrUnfocusedStorageUnit
  5343. æC ODStorageUnit::AddValue,This ODStorageUnit is not focused to a
  5344. Property.
  5345.  
  5346. æKY kODErrInvalidType
  5347. æC ODStorageUnit::AddValue,type is kODNULL.
  5348.  
  5349. æKY kODErrCannotAddProperty
  5350. æC ODStorageUnit::AddProperty,Failure to add the given Property.
  5351.  
  5352. æKY kODErrInvalidPropertyName
  5353. æC ODStorageUnit::AddProperty,propertyName is kODNULL 
  5354.  
  5355. æKY kODCannotGetContainer
  5356. æC ODStorageSystem::GetContainer,Invalid Container Type.
  5357.  
  5358. æKY kODInvalidContainerID
  5359. æC ODStorageSystem::GetContainer,Invalid Container ID.
  5360.  
  5361. æKY kODCannotCreateContainer
  5362. æC ODStorageSystem::CreateContainer,Invalid Container Type.
  5363.  
  5364. æKY kODInvalidContainerID
  5365. æC ODStorageSystem::CreateContainer,Invalid Container ID.
  5366.  
  5367. æKY errAENotASpecialFunction
  5368. æC ODSIHelper::RemoveSpecialHandler,Wrong keyword for a special function
  5369.  
  5370. æKY errAEHandlerNotFound
  5371. æC ODSIHelper::RemoveEventHandler,No handler found for an Apple event
  5372.  
  5373. æKY errAEHandlerNotFound
  5374. æC ODSIHelper::RemoveCoercionHandler,No coercion handler found
  5375.  
  5376. æKY errAENotASpecialFunction
  5377. æC ODSIHelper::InstallSpecialHandler,Wrong keyword for a special function
  5378.  
  5379. æKY kODErrOutOfMemory
  5380. æC ODSIHelper::InstallObjectAccessor,out of memory
  5381.  
  5382. æKY kODErrOutOfMemory
  5383. æC ODSIHelper::InitSIHelper,Not enough room to allocate internal
  5384. structures.
  5385.  
  5386. æKY errAENotASpecialFunction
  5387. æC ODSIHelper::GetSpecialHandler,Wrong keyword for a special function
  5388.  
  5389. æKY errAEHandlerNotFound
  5390. æC ODSIHelper::GetEventHandler,No handler found for an Apple event
  5391.  
  5392. æKY errAEHandlerNotFound
  5393. æC ODSIHelper::GetCoercionHandler,No coercion handler found
  5394.  
  5395. æKY kODErrNoGeometry
  5396. æC ODShape::Union,Geometry mode is kODNeedsGeometry, but diffShape has no
  5397. geometry.
  5398.  
  5399. æKY kODErrNoGeometry
  5400. æC ODShape::Transform,Shape doesn't have enough geometric information for
  5401. this transformation.
  5402.  
  5403. æKY kODErrNoShapeGeometry
  5404. æC ODShape::Subtract,Geometry mode is kODNeedsGeometry, but diffShape has
  5405. no geometry.
  5406.  
  5407. æKY kODErrOutOfMemory
  5408. æC ODShape::Subtract,not enough memory to subtract shapes.
  5409.  
  5410. æKY kODErrInvalidGraphicsSystem
  5411. æC ODShape::SetPlatformShape,not a valid graphics system.
  5412.  
  5413. æKY kODErrNoGeometry
  5414. æC ODShape::SetGeometryMode,If mode is set to kODNeedsGeometry but shape
  5415. has no geometry.
  5416.  
  5417. æKY kODErrOutOfMemory
  5418. æC ODShape::Outset,Not enough memory to complete the operation. The shape
  5419. will be unmodified.
  5420.  
  5421. æKY kODErrOutOfMemory
  5422. æC ODShape::NewShape,Not enough memory to create a new shape.
  5423.  
  5424. æKY kODErrOutOfMemory
  5425. æC ODShape::IsSameAs,not enough memory to compare shapes.
  5426.  
  5427. æKY kODErrNoShapeGeometry
  5428. æC ODShape::InverseTransform,Shape does not have enough geometric
  5429. information to be transformed in this way.
  5430.  
  5431. æKY kODErrNoGeometry
  5432. æC ODShape::Intersect,Geometry mode is kODNeedsGeometry, but diffShape
  5433. has no geometry.
  5434.  
  5435. æKY kODErrOutOfMemory
  5436. æC ODShape::Intersect,not enough memory to intersect shapes.
  5437.  
  5438. æKY kODErrInvalidGraphicsSystem
  5439. æC ODShape::GetPlatformShape,Graphics system unknown or not installed.
  5440.  
  5441. æKY kODErrNoGeometry
  5442. æC ODShape::CopyPolygon,Shape cannot be described as a polygon.
  5443.  
  5444. æKY kODErrOutOfMemory
  5445. æC ODShape::CopyPolygon,
  5446.  
  5447. æKY kODErrOutOfMemory
  5448. æC ODShape::CopyFrom,Not enough memory to copy shape data.
  5449.  
  5450. æKY kODErrOutOfMemory
  5451. æC ODShape::Copy,
  5452.  
  5453. æKY kODErrOutOfMemory
  5454. æC ODSession::Tokenize,out of memory
  5455.  
  5456. æKY kODErrOutOfMemory
  5457. æC ODSemanticInterface::SetTerminology,Not enough memory to copy list.
  5458.  
  5459. æKY kODErrOutOfMemory
  5460. æC ODSemanticInterface::InitSemanticInterface,Not enough memory to
  5461. initialize object.
  5462.  
  5463. æKY kODErrOutOfMemory
  5464. æC ODSemanticInterface::ForwardEvent,not enough memory to store event in
  5465. list of forwarded events.
  5466.  
  5467. æKY kODErrZeroRefCount
  5468. æC ODRefCntObject::Release,The reference count cannot be decremented
  5469. because the reference count is already 0.
  5470.  
  5471. æKY kODErrIteratorOutOfSync
  5472. æC ODPlatformTypeListIterator::Next,The ODPlatformTypeList instance was
  5473. changed during the iteration.
  5474.  
  5475. æKY kODErrIteratorOutOfSync
  5476. æC ODPlatformTypeListIterator::First,The ODPlatformTypeList instance was
  5477. changed during the iteration.
  5478.  
  5479. æKY kODErrOutOfMemory
  5480. æC ODPlatformTypeListIterator::ODPlatformTypeListIterator,Could not
  5481. construct this instance.
  5482.  
  5483. æKY kODErrOutOfMemory
  5484. æC ODPlatformTypeList::InitPlatformTypeList,Could not initialize the
  5485. list.
  5486.  
  5487. æKY kODErrOutOfMemory
  5488. æC ODPlatformTypeList::CreatePlatformTypeListIterator,Could not create
  5489. the iterator.
  5490.  
  5491. æKY kODErrOutOfMemory
  5492. æC ODPlatformTypeList::AddLast,Could not add the argument platform type
  5493. to the list.
  5494.  
  5495. æKY kODErrOutOfMemory
  5496. æC ODPlatformTypeList::ODPlatformTypeList,Could not construct this
  5497. instance.
  5498.  
  5499. æKY kODErrInvalidUndo
  5500. æC ODPart::WriteActionState,Not an undo action of this part.
  5501.  
  5502. æKY kODErrInvalidFrame
  5503. æC ODPart::ViewTypeChanged,frame is not a display frame of this part.
  5504.  
  5505. æKY kODErrInvalidFrame
  5506. æC ODPart::UsedShapeChanged,embeddedFrame is not an embeddedFrame of this
  5507. part.
  5508.  
  5509. æKY kODErrInvalidUndo
  5510. æC ODPart::UndoAction,Not an undo action of this part.
  5511.  
  5512. æKY kODErrInvalidFrame
  5513. æC ODPart::SequenceChanged,frame is not a display frame of this part.
  5514.  
  5515. æKY kODErrInvalidLink
  5516. æC ODPart::RevealLink,This isn't one of my links.
  5517.  
  5518. æKY kODErrInvalidFrame
  5519. æC ODPart::RevealFrame,frame is not an embedded frame of this part.
  5520.  
  5521. æKY kODErrOutOfMemory
  5522. æC ODPart::RequestEmbeddedFrame,Not enough memory to embed a part.
  5523.  
  5524. æKY kODErrCannotEmbed
  5525. æC ODPart::RequestEmbeddedFrame,This part does not support embedding.
  5526.  
  5527. æKY kODErrInvalidFrame
  5528. æC ODPart::RemoveEmbeddedFrame,frame is not an embedded frame of this
  5529. part.
  5530.  
  5531. æKY kODErrCannotEmbed
  5532. æC ODPart::RemoveEmbeddedFrame,This part does not support embedding.
  5533.  
  5534. æKY kODErrInvalidUndo
  5535. æC ODPart::RedoAction,Not an undo action of this part.
  5536.  
  5537. æKY kODErrOutOfMemory
  5538. æC ODPart::ReadPartInfo,Not enough memory to allocate partInfo.
  5539.  
  5540. æKY kODErrInvalidFrame
  5541. æC ODPart::ReadPartInfo,frame is not a display frame of this part.
  5542.  
  5543. æKY kODErrOutOfMemory
  5544. æC ODPart::ReadActionState,Not enough memory to internalize data.
  5545.  
  5546. æKY kODErrInvalidUndo
  5547. æC ODPart::ReadActionState,Not an undo action of this part.
  5548.  
  5549. æKY kODErrInvalidFrame
  5550. æC ODPart::PresentationChanged,"frame" isn't one of my display frames.
  5551.  
  5552. æKY kODErrInvalidFrame
  5553. æC ODPart::Open,"frame" isn't one of my display frames.
  5554.  
  5555. æKY kODErrInvalidFacet
  5556. æC ODPart::MouseWithin,facet is not a facet of this part.
  5557.  
  5558. æKY kODErrInvalidFacet
  5559. æC ODPart::MouseLeave,facet is not a facet of this part.
  5560.  
  5561. æKY kODErrInvalidFacet
  5562. æC ODPart::MouseEnter,facet is not a facet of this part.
  5563.  
  5564. æKY kODErrInvalidLink
  5565. æC ODPart::LinkUpdated,This isn't one of my links.
  5566.  
  5567. æKY kODErrInvalidFacet
  5568. æC ODPart::HighlightChanged,"facet" is not a facet of this part.
  5569.  
  5570. æKY kODErrInvalidFacet
  5571. æC ODPart::HandleEvent,facet is not a facet of this part.
  5572.  
  5573. æKY kODErrInvalidFrame
  5574. æC ODPart::HandleEvent,frame is not a display frame of this part.
  5575.  
  5576. æKY kODErrInvalidFrame
  5577. æC ODPart::GetPrintResolution,frame is not a display frame of this part.
  5578.  
  5579. æKY kODErrInvalidFrame
  5580. æC ODPart::GetContainingPartProperties,frame is not an embedded frame of
  5581. this part.
  5582.  
  5583. æKY kODErrCannotEmbed
  5584. æC ODPart::GetContainingPartProperties,This part does not support
  5585. embedding.
  5586.  
  5587. æKY kODErrInvalidFacet
  5588. æC ODPart::GeometryChanged,facet is not a facet of this part.
  5589.  
  5590. æKY kODErrInvalidPromise
  5591. æC ODPart::FulfillPromise,The part did not make this promise.
  5592.  
  5593. æKY kODErrInvalidFrame
  5594. æC ODPart::FrameShapeChanged,frame is not a display frame of this part.
  5595.  
  5596. æKY kODErrInvalidFrame
  5597. æC ODPart::FocusLost,ownerFrame is not a display frame of this part.
  5598.  
  5599. æKY kODErrInvalidFocus
  5600. æC ODPart::FocusLost,Part doesn't own this focus.
  5601.  
  5602. æKY kODErrInvalidFrame
  5603. æC ODPart::FocusAcquired,ownerFrame is not a display frame of this part.
  5604.  
  5605. æKY kODErrInvalidFocus
  5606. æC ODPart::FocusAcquired,Part cannot own this focus.
  5607.  
  5608. æKY kODErrInvalidFacet
  5609. æC ODPart::FacetRemoved,facet is not a facet of this part.
  5610.  
  5611. æKY kODErrUnknownCanvasType
  5612. æC ODPart::FacetAdded,The part is unable to render itself on the facet's
  5613. canvas.
  5614.  
  5615. æKY kODErrInvalidFrame
  5616. æC ODPart::EmbeddedFrameSpec,embeddedFrame is not an embedded frame of
  5617. this part.
  5618.  
  5619. æKY kODErrNotDragging
  5620. æC ODPart::Drop,Part hasn't received a DragEnter message.
  5621.  
  5622. æKY kODErrInvalidFrame
  5623. æC ODPart::Draw,"frame" isn't one of my display frames.
  5624.  
  5625. æKY kODErrNotDragging
  5626. æC ODPart::DragWithin,Part has not received a DragEnter call.
  5627.  
  5628. æKY kODErrNotDragging
  5629. æC ODPart::DragLeave,Part has not received a DragEnter call.
  5630.  
  5631. æKY kODErrInvalidUndo
  5632. æC ODPart::DisposeActionState,Not an undo action of this part.
  5633.  
  5634. æKY kODErrInvalidFrame
  5635. æC ODPart::DisplayFrameRemoved,frame is not a display frame of this part.
  5636.  
  5637. æKY kODErrInvalidFrame
  5638. æC ODPart::DisplayFrameConnected,frame is not a display frame of this
  5639. part.
  5640.  
  5641. æKY kODErrInvalidFrame
  5642. æC ODPart::DisplayFrameClosed,frame is not a display frame of this part.
  5643.  
  5644. æKY kODErrOutOfMemory
  5645. æC ODPart::CreateLink,Not enough memory to allocate link object.
  5646.  
  5647. æKY kODErrCantLink
  5648. æC ODPart::CreateLink,Part does not support linking protocol.
  5649.  
  5650. æKY kODErrInvalidLinkData
  5651. æC ODPart::CreateLink,Could not identify content for link. 
  5652.  
  5653. æKY kODErrInvalidFrame
  5654. æC ODPart::CreateEmbeddedFramesIterator,frame is not a display frame of
  5655. this part.
  5656.  
  5657. æKY kODErrOutOfMemory
  5658. æC ODPart::CreateEmbeddedFramesIterator,Not enough memory to allocate
  5659. iterator.
  5660.  
  5661. æKY kODErrCannotEmbed
  5662. æC ODPart::CreateEmbeddedFramesIterator,This part does not support
  5663. embedding.
  5664.  
  5665. æKY kODErrInvalidFrame
  5666. æC ODPart::CommitRelinquishFocus,ownerFrame is not a display frame of
  5667. this part.
  5668.  
  5669. æKY kODErrInvalidFocus
  5670. æC ODPart::CommitRelinquishFocus,Part doesn't own this focus.
  5671.  
  5672. æKY kODErrNotPrepared
  5673. æC ODPart::CommitRelinquishFocus,Part hasn't prepared to relinqush focus.
  5674.  
  5675. æKY kODErrInvalidKind
  5676. æC ODPart::ChangeKind,Part does not support that kind of content.
  5677.  
  5678. æKY kODErrInvalidFrame
  5679. æC ODPart::BeginRelinquishFocus,ownerFrame is not a display frame of this
  5680. part.
  5681.  
  5682. æKY kODErrInvalidFocus
  5683. æC ODPart::BeginRelinquishFocus,Part doesn't own this focus.
  5684.  
  5685. æKY kODErrInvalidFrame
  5686. æC ODPart::AttachSourceFrame,Either frame or sourceFrame is not a display
  5687. frame of this part.
  5688.  
  5689. æKY kODErrInvalidFrame
  5690. æC ODPart::AdjustMenus,frame is not a display frame of this part.
  5691.  
  5692. æKY kODErrInvalidFrame
  5693. æC ODPart::AdjustBorderShape,embeddedFrame is not an embeddedFrame of
  5694. this part.
  5695.  
  5696. æKY kODErrInvalidFrame
  5697. æC ODPart::AbortRelinquishFocus,ownerFrame is not a display frame of this
  5698. part.
  5699.  
  5700. æKY kODErrInvalidFocus
  5701. æC ODPart::AbortRelinquishFocus,Part doesn't own this focus.
  5702.  
  5703. æKY kODErrNotPrepared
  5704. æC ODPart::AbortRelinquishFocus,Part hasn't prepared to relinqush focus.
  5705.  
  5706. æKY kODErrOutOfMemory
  5707. æC ODObjectNameSpace::InitObjectNameSpace,Out of memory.
  5708.  
  5709. æKY kODErrInvalidExtension
  5710. æC ODObject::ReleaseExtension,not an extension that this object knows
  5711. about
  5712.  
  5713. æKY kODErrInvalidExtension
  5714. æC ODObject::GetExtension,not an extension that this object knows about
  5715.  
  5716. æKY kODOutOfMemory
  5717. æC ODNameSpaceManager::InitNameSpaceManager,Out of memory.
  5718.  
  5719. æKY kODErrKeyAlreadyExists
  5720. æC ODNameSpaceManager::CreateNameSpace,An ODNameSpace with that name
  5721. already exists.
  5722.  
  5723. æKY kODErrOutOfMemory
  5724. æC ODNameSpaceManager::CreateNameSpace,Not enough memory
  5725.  
  5726. æKY kODErrInvalidName
  5727. æC ODNameSpace::ReadFromStorage,The stored name does not match that of
  5728. the name space.
  5729.  
  5730. æKY kODErrInvalidName
  5731. æC ODNameSpace::ReadFromFile,The stored name does not match that of the
  5732. name space.
  5733.  
  5734. æKY kODErrOutOfMemory
  5735. æC ODNameSpace::InitNameSpace,Out of memory.
  5736.  
  5737. æKY kODOutOfMemory
  5738. æC ODNameResolver::Resolve,Couldn't allocate needed internal structures. 
  5739.  
  5740. æKY errAENoSuchObject
  5741. æC ODNameResolver::Resolve,Invalid ODPart* or part does not support the
  5742. Semantic Interface extension.
  5743.  
  5744. æKY kODErrInvalidPart
  5745. æC ODNameResolver::GetContextInfo,Not a valid part
  5746.  
  5747. æKY kODErrInvalidPart
  5748. æC ODNameResolver::DisposeToken,Token does not contain a valid part
  5749. description.
  5750.  
  5751. æKY kODErrOutOfMemory
  5752. æC ODNameResolver::CreateSwapToken,Out of Memory
  5753.  
  5754. æKY kODEInvalidPart
  5755. æC ODMessageInterface::Send,Invalid part.
  5756.  
  5757. æKY kODEInvalidSemanticEvent
  5758. æC ODMessageInterface::Send,Invalid AppleEvent (not created with
  5759. ODMessageInterface::CreateEvent ).
  5760.  
  5761. æKY kODEResolveError
  5762. æC ODMessageInterface::ProcessSemanticEvent,Couldn't determine correct
  5763. object to dispatch to.
  5764.  
  5765. æKY kODOutOfMemory
  5766. æC ODMessageInterface::InitMessageInterface,Not enough memory for needed
  5767. storage.
  5768.  
  5769. æKY kXODErrNotAValidPart
  5770. æC ODMessageInterface::CreatePartObjSpec,ODPart* was not valid.
  5771.  
  5772. æKY kXODErrNotAValidPart
  5773. æC ODMessageInterface::CreatePartAddrDesc,ODPart* was not valid.
  5774.  
  5775. æKY kODErrOutOfMemory
  5776. æC ODMessageInterface::CreateOSAObject,Not enough memory to create the
  5777. object.
  5778.  
  5779. æKY kODOutOfMemory
  5780. æC ODMessageInterface::CreateEvent,Couldn't allocate memory for the
  5781. event.
  5782.  
  5783. æKY kODErrOutOfMemory
  5784. æC ODMenuBar::AddSubMenu,Out of memory
  5785.  
  5786. æKY kODErrOutOfMemory
  5787. æC ODMenuBar::AddMenuLast,Out of memory
  5788.  
  5789. æKY kODErrOutOfMemory
  5790. æC ODMenuBar::AddMenuBefore,Out of memory
  5791.  
  5792. æKY kODErrNoLinkSpecValue
  5793. æC ODLinkSpec::ReadLinkSpec,Focused property does not contain a link
  5794. specification value. 
  5795.  
  5796. æKY kODErrCorruptLinkSpecValue
  5797. æC ODLinkSpec::ReadLinkSpec,Focused property contains an invalid link
  5798. specification value.
  5799.  
  5800. æKY kODErrInvalidLinkKey
  5801. æC ODLinkSource::UseLinkEdition,
  5802.  
  5803. æKY kODErrInvalidLinkKey
  5804. æC ODLinkSource::Unlock,
  5805.  
  5806. æKY kODErrLinkBroken
  5807. æC ODLinkSource::ShowSourceContent,Cannot locate the source of the link.
  5808.  
  5809. æKY kODErrInvalidLinkKey
  5810. æC ODLinkSource::ReadLinkEdition,
  5811.  
  5812. æKY kODLinkBroken
  5813. æC ODLinkSource::InitLinkSourceFromStorage,The associated link  object
  5814. could not be found.
  5815.  
  5816. æKY kODErrOutOfMemory
  5817. æC ODLinkSource::InitLinkSource,Out of memory.
  5818.  
  5819. æKY kODErrInvalidLinkKey
  5820. æC ODLinkSource::GetContentStorageUnit,
  5821.  
  5822. æKY kODErrInvalidDraftKey
  5823. æC ODLinkSource::CloneTo,Invalid Clone.
  5824.  
  5825. æKY kODErrCloneNotStarted
  5826. æC ODLinkSource::CloneTo,A Clone was started unsuccessfully.
  5827.  
  5828. æKY kODErrDraftNotSaved
  5829. æC ODLinkManager::CreateLink,A link could not be created because the
  5830. source document has never been saved.
  5831.  
  5832. æKY kODErrInvalidLinkKey
  5833. æC ODLink::UpdateLinkEdition,
  5834.  
  5835. æKY kODErrInvalidLinkKey
  5836. æC ODLink::Unlock,
  5837.  
  5838. æKY kODErrLinkBroken
  5839. æC ODLink::ShowSourceContent,Cannot locate the source of the link.
  5840.  
  5841. æKY kODErrOutOfMemory
  5842. æC ODLink::RegisterDependent,Not enough memory
  5843.  
  5844. æKY kODLinkBroken
  5845. æC ODLink::InitLinkFromStorage,The associated link source object could
  5846. not be found.
  5847.  
  5848. æKY kODErrOutOfMemory
  5849. æC ODLink::InitLink,Out of memory.
  5850.  
  5851. æKY kODErrInvalidLinkKey
  5852. æC ODLink::GetLinkEdition,
  5853.  
  5854. æKY kODErrInvalidLinkKey
  5855. æC ODLink::GetContentStorageUnit,
  5856.  
  5857. æKY kODErrInvalidLinkKey
  5858. æC ODLink::CreateLinkEdition,
  5859.  
  5860. æKY kODErrInvalidDraftKey
  5861. æC ODLink::CloneTo,Invalid Clone.
  5862.  
  5863. æKY kODErrCloneNotStarted
  5864. æC ODLink::CloneTo,A Clone was started unsuccessfully.
  5865.  
  5866. æKY kODErrOutOfMemory
  5867. æC ODFocusSetIterator::First,Not enough memory to allocate the
  5868. LinkedListIterator
  5869.  
  5870. æKY kODErrOutOfMemory
  5871. æC ODFocusSet::Add,
  5872.  
  5873. æKY kODErrInvalidFocusModule
  5874. æC ODFocusOwnerIterator::InitFocusOwnerIterator,The specified focus
  5875. module is invalid.
  5876.  
  5877. æKY kODErrInvalidFrame
  5878. æC ODFocusModule::UnsetFocusOwnership,The specified frame is invalid
  5879.  
  5880. æKY kODErrInvalidFrame
  5881. æC ODFocusModule::TransferFocusOwnership,The specified frame is invalid 
  5882.  
  5883. æKY kODErrInvalidFrame
  5884. æC ODFocusModule::SetFocusOwnership,The specified frame is invalid 
  5885.  
  5886. æKY kODErrInvalidFacet
  5887. æC ODFacet::RemoveFacet,"facet" is not a child of the receiver.
  5888.  
  5889. æKY kODErrInvalidFacet
  5890. æC ODFacet::MoveBehind,"child" or "sibling" is not a valid child facet of
  5891. the receiver.
  5892.  
  5893. æKY kODErrInvalidFacet
  5894. æC ODFacet::MoveBefore,"child" or "sibling" is not a valid child facet of
  5895. the receiver.
  5896.  
  5897. æKY kODErrInvalidFacet
  5898. æC ODFacet::Invalidate,Can't find facet for parent canvas.
  5899.  
  5900. æKY kODErrInvalidCanvas
  5901. æC ODFacet::GetCanvas,Neither this facet or any of its parents had a
  5902. canvas.
  5903.  
  5904. æKY kODErrInvalidPositionCode
  5905. æC ODFacet::CreateEmbeddedFacet,"position" is not a valid position code.
  5906.  
  5907. æKY kODInvalidFacet
  5908. æC ODFacet::CreateEmbeddedFacet,"siblingFacet" is not a child of the
  5909. receiver.
  5910.  
  5911. æKY kODErrInvalidBase
  5912. æC ODExtension::Release,Not a valid base object.
  5913.  
  5914. æKY kODErrInvalidExtension
  5915. æC ODExtension::CheckValid,This is an invalid extension and should not be
  5916. used by any clients.  The client should attempt to get the extension
  5917. from the same base object she got it from before.
  5918.  
  5919. æKY kODErrInvalidWindowState
  5920. æC ODDragItemIterator::ODDragItemIterator,The specified window state is
  5921. not valid.
  5922.  
  5923. æKY kODErrInvalidStorageUnit
  5924. æC ODDraft::RemoveStorageUnit,Invalid storageUnit.
  5925.  
  5926. æKY kODErrInvalidStorageUnit
  5927. æC ODDraft::RemovePart,Invalid ODPart with no ODStorageUnit associated
  5928. with it. 
  5929.  
  5930. æKY kODErrInvalidRefCount
  5931. æC ODDraft::RemovePart,Refcount of part is not 1.
  5932.  
  5933. æKY kODErrInvalidStorageUnit
  5934. æC ODDraft::RemoveLinkSource,Invalid ODLinkSource with no ODStorageUnit
  5935. associated with it.
  5936.  
  5937. æKY kODErrInvalidRefCount
  5938. æC ODDraft::RemoveLinkSource,Refcount of link is not 1.
  5939.  
  5940. æKY kODErrInvalidStorageUnit
  5941. æC ODDraft::RemoveLink,Invalid ODLink with no ODStorageUnit associated
  5942. with it.
  5943.  
  5944. æKY kODErrInvalidRefCount
  5945. æC ODDraft::RemoveLink,Refcount of link is not 1.
  5946.  
  5947. æKY kODErrInvalidRefCount
  5948. æC ODDraft::RemoveFrame,RefCount of frame is not 1.
  5949.  
  5950. æKY kODErrInvalidStorageUnit
  5951. æC ODDraft::RemoveFrame,Invalid ODFrame with no ODStorageUnit associated
  5952. with it.
  5953.  
  5954. æKY kODErrInvalidRefCount
  5955. æC ODDraft::ReleaseStorageUnit,Refcount of storageUnit is not 0.
  5956.  
  5957. æKY kODErrInvalidRefCount
  5958. æC ODDraft::ReleasePart,RefCount of part is not 0.
  5959.  
  5960. æKY kODErrInvalidRefCount
  5961. æC ODDraft::ReleaseLink,Refcount of link is not 0.
  5962.  
  5963. æKY kODErrInvalidRefCount
  5964. æC ODDraft::ReleaseFrame,RefCount of object is not 0.
  5965.  
  5966. æKY kODErrCannotGetPart
  5967. æC ODDraft::GetPart,Cannot create ODPart object.
  5968.  
  5969. æKY kODErrCannotGetLink
  5970. æC ODDraft::GetLinkSource,Cannot create ODLink object.
  5971.  
  5972. æKY kODErrCannotGetLink
  5973. æC ODDraft::GetLink,Cannot create ODLink object.
  5974.  
  5975. æKY kODErrCannotGetFrame
  5976. æC ODDraft::GetFrame,Cannot create ODFrame object.
  5977.  
  5978. æKY kODErrNoDraftProperties
  5979. æC ODDraft::GetDraftProperties,Draft Properties Storage Unit cannot be
  5980. created.
  5981.  
  5982. æKY kODErrInvalidDraftKey
  5983. æC ODDraft::EndClone,
  5984.  
  5985. æKY kODErrCannotCreatePart
  5986. æC ODDraft::CreatePart,Cannot create ODPart object.
  5987.  
  5988. æKY kODErrCannotCreateLink
  5989. æC ODDraft::CreateLinkSource,Cannot create the ODLinkSource or companion
  5990. ODLink object.
  5991.  
  5992. æKY kODErrCannotCreateFrame
  5993. æC ODDraft::CreateFrame,Cannot create ODFrame object.
  5994.  
  5995. æKY kODInvalidDraft
  5996. æC ODDraft::ChangedFromPrev,Invalid Draft.
  5997.  
  5998. æKY kODErrCloningInProgress
  5999. æC ODDraft::BeginClone,Another Clone has started already.
  6000.  
  6001. æKY kODErrInvalidDraftKey
  6002. æC ODDraft::AbortClone,Invalid Clone.
  6003.  
  6004. æKY kODErrOutstandingDraft
  6005. æC ODDocument::SaveToAPrevDraft,There is one or more outstanding Draft
  6006. between from (exclusive) and to (exclusive).
  6007.  
  6008. æKY kODErrInvalidDraft
  6009. æC ODDocument::SaveToAPrevDraft,from is not above to.
  6010.  
  6011. æKY kODErrInvalidPosCode
  6012. æC ODDocument::GetDraft,Invalid relative position.
  6013.  
  6014. æKY kODInvalidPermissions
  6015. æC ODDocument::GetDraft,Invalid permissions.
  6016.  
  6017. æKY kODErrInvalidRefCount
  6018. æC ODDocument::GetDraft,draft does not have a valid refCount.
  6019.  
  6020. æKY kODErrCannotChangePermissions
  6021. æC ODDocument::GetDraft,Cannot change permission on draft if it is gotten
  6022. again with a different permissions.
  6023.  
  6024. æKY kODErrNoDocumentProperties
  6025. æC ODDocument::GetDocumentProperties,Cannot create ODStorageUnit for
  6026. Document Properties.
  6027.  
  6028. æKY kODErrInvalidPermissions
  6029. æC ODDocument::GetBaseDraft,Invalid permissions.
  6030.  
  6031. æKY kODErrInvalidPermissions
  6032. æC ODDocument::CreateDraft,Exclusive-Write-Only below is not released.
  6033.  
  6034. æKY kODErrInvalidContainer
  6035. æC ODDocument::CreateDraft,Container does not support creation of new
  6036. drafts.
  6037.  
  6038. æKY kODErrInvalidBelowDraft
  6039. æC ODDocument::CreateDraft,below is kODNULL  or below is not the Top
  6040. Draft of the Document.
  6041.  
  6042. æKY kODErrOutstandingDraft
  6043. æC ODDocument::CollapseDrafts,There is one or more outstanding Draft
  6044. (i.e., refCount >= 1) between from and to. 
  6045.  
  6046. æKY kODErrNonEmptyDraft
  6047. æC ODDocument::CollapseDrafts,Non-empty draft between from and to.
  6048.  
  6049. æKY kODErrCannotCollapseDrafts
  6050. æC ODDocument::CollapseDrafts,from is not above to.
  6051.  
  6052. æKY kODErrInvalidFrame
  6053. æC ODDispatcher::UnregisterIdle,The specified frame is invalid
  6054.  
  6055. æKY kODErrInvalidFrame
  6056. æC ODDispatcher::RegisterIdle,The specified frame is invalid
  6057.  
  6058. æKY kODErrOutOfMemory
  6059. æC ODDispatcher::InitDispatcher,Out of memory
  6060.  
  6061. æKY kODErrInvalidDispatchModule
  6062. æC ODDispatcher::AddMonitor,specified dispatch module is invalid.
  6063.  
  6064. æKY kODErrExistingDispatchModule
  6065. æC ODDispatcher::AddMonitor,module is already installed.
  6066.  
  6067. æKY kODErrInvalidDispatchModule
  6068. æC ODDispatcher::AddDispatchModule,specified dispatch module is invalid.
  6069.  
  6070. æKY kODErrExistingDispatchModule
  6071. æC ODDispatcher::AddDispatchModule,module is already installed.
  6072.  
  6073. æKY kODErrCannotOpenContainer
  6074. æC ODContainer::Open,Cannot open the physical Container.
  6075.  
  6076. æKY kODErrInvalidDocument
  6077. æC ODContainer::GetDocument,Cannot get desired Document because the id is
  6078. invalid.
  6079.  
  6080. æKY kODErrCannotCreateContainer
  6081. æC ODContainer::Create,Cannot create the physical Container.
  6082.  
  6083. æKY kODErrInvalidClipboardKey
  6084. æC ODClipboard::SetPlatformClipboard,The argument clipboard key is not
  6085. valid.
  6086.  
  6087. æKY kODErrOutOfMemory
  6088. æC ODClipboard::SetPlatformClipboard,Out of Memory
  6089.  
  6090. æKY kODErrInvalidClipboardKey
  6091. æC ODClipboard::GetContentStorageUnit,The argument clipboard key is not
  6092. valid.
  6093.  
  6094. æKY kODErrInvalidClipboardKey
  6095. æC ODClipboard::ExportClipboard,The argument clipboard key is not valid.
  6096.  
  6097. æKY kODErrOutOfMemory
  6098. æC ODClipboard::ExportClipboard,Out of Memory
  6099.  
  6100. æKY kODErrInvalidClipboardKey
  6101. æC ODClipboard::Clear,The argument clipboard key is not valid.
  6102.  
  6103. æKY kODErrInvalidGraphicsSystem
  6104. æC ODCanvas::SetPlatformCanvas,The graphics system is unknown.
  6105.  
  6106. æKY kODErrInvalidGraphicsSystem
  6107. æC ODCanvas::GetPlatformPrintJob,The graphics system is unknown; or there
  6108. is no print job associated with it.
  6109.  
  6110. æKY kODErrInvalidGraphicsSystem
  6111. æC ODCanvas::GetPlatformCanvas,The graphics system is unknown; or there
  6112. is no platform canvas associated with this graphics system.
  6113.  
  6114. æKY kODOutOfMemory
  6115. æC ODCanvas::ODCanvas,cannot allocate ODCanvas object.
  6116.  
  6117. æKY kODErrInvalidPlatformCanvas
  6118. æC ODCanvas::ODCanvas,
  6119.  
  6120. æKY kODErrOutOfMemory
  6121. æC ODBinding::InitBinding,Out of memory.
  6122.  
  6123. æKY kODErrInvalidFrame
  6124. æC ODArbitrator::TransferFocusSet,
  6125.  
  6126. æKY kODErrInvalidFocusSet
  6127. æC ODArbitrator::TransferFocusSet,
  6128.  
  6129. æKY kODErrInvalidFrame
  6130. æC ODArbitrator::TransferFocus,
  6131.  
  6132. æKY kODErrFocusNotRegistered
  6133. æC ODArbitrator::RequestFocusSet,One of the requested foci is not
  6134. registered.
  6135.  
  6136. æKY kODErrFocusNotRegistered
  6137. æC ODArbitrator::RequestFocus,One of the requested foci is not
  6138. registered.
  6139.  
  6140. æKY kODErrInvalidFrame
  6141. æC ODArbitrator::RelinquishFocusSet,
  6142.  
  6143. æKY kODErrInvalidFocusSet
  6144. æC ODArbitrator::RelinquishFocusSet,
  6145.  
  6146. æKY kODErrInvalidFrame
  6147. æC ODArbitrator::RelinquishFocus,
  6148.  
  6149. æKY kODErrExistingFocusModule
  6150. æC ODArbitrator::RegisterFocus,A focus module already exists for that
  6151. focus.
  6152.  
  6153. æKY kODErrorOutOfMemory
  6154. æC ODArbitrator::InitArbitrator,Out of memory.
  6155.  
  6156. æKY kODErrOutOfMemory
  6157. æC ODArbitrator::CreateOwnerIterator,Out of memory
  6158.  
  6159. æKY Error Codes - General Constants
  6160. æKL kODErrIteratorNotInitialized
  6161. kODErrIllegalNullFacetInput
  6162. kODErrIllegalNullFrameInput
  6163. kODErrValueIndexOutOfRange
  6164. æC General Error Codes
  6165.  
  6166. æKY kODErrIteratorNotInitialized
  6167. æC A method was called on an uninitialized iterator.
  6168.  
  6169. æKY kODErrIllegalNullFacetInput
  6170. æC An OpenDoc API call was made which was expecting an ODFacet object as
  6171. one of its parameters and got NULL instead.
  6172.  
  6173. æKY kODErrIllegalNullFrameInput
  6174. æC An OpenDoc API call was made which was expecting an ODFrame object as
  6175. one of its parameters and got NULL instead.
  6176.  
  6177. æKY kODErrValueIndexOutOfRange
  6178. æC An OpenDoc API call was made which was expecting an value within a
  6179. certain range of numbers (depends on the object and the situation) and
  6180. instead got a value outside that range of numbers.
  6181.  
  6182. æKY General Constants
  6183. æKL kODFalse
  6184. kODTrue
  6185. kODNULL
  6186. kODsmSystemScript
  6187. kODsmScriptLang
  6188. kODTinyIconSize
  6189. kODSmallIconSize
  6190. kODLargeIconSize
  6191. kODThumbnailSize
  6192. kODNULLID
  6193. kODKeyNotGranted
  6194. kODNoEditor
  6195. kODTraditionalMacText
  6196.  
  6197. æKY kODFalse
  6198. æC An ODBoolean constant equal to 0 .
  6199.  
  6200. æKY kODTrue
  6201. æC An ODBoolean constant equal to 1.
  6202.  
  6203. æKY kODNULL
  6204. æC The value NULL.
  6205.  
  6206. æKY kODsmSystemScript
  6207. æC A Designator for the system script.
  6208.  
  6209. æKY kODsmScriptLang
  6210. æC The current script language.
  6211.  
  6212. æKY kODTinyIconSize
  6213. æC The size for tiny icons equal to 12x12 pixels.
  6214.  
  6215. æKY kODSmallIconSize
  6216. æC The size for small icons equal to 16x16 pixels.
  6217.  
  6218. æKY kODLargeIconSize
  6219. æC The size for large icons equal to 32x32 pixels.
  6220.  
  6221. æKY kODThumbnailSize
  6222. æC The size for thumb nails equal to 64x64 pixels.
  6223.  
  6224. æKY kODNULLID
  6225. æC An invalid ID or a null ID.
  6226.  
  6227. æKY kODKeyNotGranted
  6228. æC A storage unit key has not yet been granted, or could not be granted.
  6229.  
  6230. æKY kODNoEditor
  6231. æC A distinguished ODEditor value denoting no part editor.
  6232.  
  6233. æKY kODTraditionalMacText
  6234. æC Constant for ODITextFormat field of ODIText indicating the traditional
  6235. Macintosh international text standard of script code/lang code/string.
  6236.  
  6237. æKY Layout Constants
  6238. æKL kODPresDefault
  6239. kNewGroup
  6240. æC Constants used in the Layout protocols.
  6241.  
  6242. æKY kODPresDefault
  6243. æC The default presentation for a frame. 
  6244.  
  6245. æKY kNewGroup
  6246. æC Used in the ODPart::CreateEmbeddedFrame() call. Pass as the
  6247. frameGroupID parameter to ask the containing part to put the created
  6248. frame in a new frame group.
  6249.  
  6250. æKY Messaging - Properties for Part Info Dialog Constants
  6251. æKL kODPCategory
  6252. kODPSize
  6253. kODPCreationDate
  6254. kODPModDate
  6255. kODPAuthor
  6256. kODPIcon
  6257. kODPName
  6258. kODPKind
  6259. kODPEditor
  6260. kODPComments
  6261. kODPView
  6262. kODPIsFrozen
  6263. kODPIsStationery
  6264. æC Apple Event Object Model properties corresponding to the elements of
  6265. the Part Info dialog.
  6266.  
  6267. æKY kODPCategory
  6268. æC = 'cate'. The category of  a selected part.
  6269.  
  6270. æKY kODPSize
  6271. æC = 'size'. The size of a selected part.
  6272.  
  6273. æKY kODPCreationDate
  6274. æC = 'crdt'. The creation date of  a selected part.
  6275.  
  6276. æKY kODPModDate
  6277. æC = 'modt'. The modification date of  a selected part.
  6278.  
  6279. æKY kODPAuthor
  6280. æC = 'auth'. The author of a selected part.
  6281.  
  6282. æKY kODPIcon
  6283. æC = 'icon'. The icon of  a selected part.
  6284.  
  6285. æKY kODPName
  6286. æC = 'pnam'. The name of  a selected part.
  6287.  
  6288. æKY kODPKind
  6289. æC = 'pknd'. The kind of  a selected part.
  6290.  
  6291. æKY kODPEditor
  6292. æC = 'edtr'. The editor of  a selected part.
  6293.  
  6294. æKY kODPComments
  6295. æC = 'cmnt'. A comment about  a selected part.
  6296.  
  6297. æKY kODPView
  6298. æC = 'view'. The type of view of  a selected part (Frame, Icon etc).
  6299.  
  6300. æKY kODPIsFrozen
  6301. æC = 'frzn'. Whether a selected part is "frozen" or not.
  6302.  
  6303. æKY kODPIsStationery
  6304. æC = pIsStationeryPad. Is the stationery flag of the selected part set?
  6305.  
  6306. æKY Messaging subsystem Constants
  6307. æKL kODAppShell
  6308. cPart
  6309. cDraft
  6310. typeUserToken
  6311. æC Constants of the Messaging subsystem
  6312.  
  6313. æKY kODAppShell
  6314. æC Used to represent the shell application, when calling methods of the
  6315. messaging subsystem which normally take an ODPart* as an argument.
  6316.  
  6317. æKY cPart
  6318. æC = 'part'.  An AppleEvent Object Model property. 
  6319.  
  6320. æKY cDraft
  6321. æC = 'drft'.  An AppleEvent Object Model property.
  6322.  
  6323. æKY typeUserToken
  6324. æC Reserved descriptorType for use by OpenDoc.
  6325.  
  6326. æKY Name Spaces Constants
  6327. æKL kODNSTypeISOStr
  6328. kODNSTypeSLong
  6329.  
  6330. æKY kODNSTypeISOStr
  6331. æC An indicator of a name space with keys that are of type ISO String.
  6332.  
  6333. æKY kODNSTypeSLong
  6334. æC An indicator of a name space with keys that are of type signed long.
  6335.  
  6336. æKY ODPart - Persistent Properties Constants
  6337. æKL kODPropIsStationery
  6338. kODPropCustomIcon
  6339. kODPropPreferredKind
  6340. kODPropContents
  6341. kODPropPreferredEditor
  6342. kODPropDisplayFrames
  6343.  
  6344. æKY kODPropIsStationery
  6345. æC Indicates whether a part should act as a stationery.
  6346.  
  6347. æKY kODPropCustomIcon
  6348. æC The custom icon property on a part's storageUnit.  If a user sets the
  6349. custom icon of a part using a script, this property is where that
  6350. custom icon is stored.  The utility functions ODGetIconFamily and
  6351. ODSetIconFamily can be used to manipulate the custom icon of a part;
  6352. they in turn read/write to this property.
  6353.  
  6354. æKY kODPropPreferredKind
  6355. æC A property containing a content type value identifying one of the
  6356. values in the kODContents property as the value that should be
  6357. internalized by an editor bound to this part.  This property, if
  6358. present, overrides the ordering  of values in the kODContents
  6359. property.
  6360.  
  6361. æKY kODPropContents
  6362. æC The contents property.  All Part contents should be stored in a value
  6363. of this property.  Multiple values should be used ONLY as additional
  6364. standalone alternate representations of the entire contents.  Please
  6365. see the "Part Storage Model" recipe document for more details.
  6366.  
  6367. æKY kODPropPreferredEditor
  6368. æC This property is maintained by the Binding subsystem and indicates
  6369. which editor last manipulated the part.
  6370.  
  6371. æKY kODPropDisplayFrames
  6372. æC This is an annotation on every part's storageUnit which contains a
  6373. list of weak references to the part's display frames.  The part is
  6374. responsible for maintaining this list.  Please see the "Display Frame
  6375. 'ternalization" recipe document for more info.
  6376.  
  6377. æKY Standard Persistent Types Constants
  6378. æKL kODBoolean
  6379. kODUShort
  6380. kODSShort
  6381. kODULong
  6382. kODSLong
  6383. kODISOStr
  6384. kODASCIIText
  6385. kODIntlText
  6386. kODTime_T
  6387. kODPoint
  6388. kODRect
  6389. kODPolygon
  6390. kODIconFamily
  6391. kODTransform
  6392. kODEditor
  6393. kODStrongStorageUnitRef
  6394. kODWeakStorageUnitRef
  6395. kODPartObject
  6396. kODFrameObject
  6397. kODNonPersistentFrame
  6398. kODMacIText
  6399. æC These are the standard persistent types which should be used for all
  6400. OpenDoc metadata.  The OpenDoc Document Exchange Initiative may have
  6401. more up to date information on the specific formats of these types.
  6402.  
  6403. æKY kODBoolean
  6404. æC one byte.  0 == FALSE.
  6405.  
  6406. æKY kODUShort
  6407. æC unsigned two byte integer.
  6408.  
  6409. æKY kODSShort
  6410. æC signed two byte integer
  6411.  
  6412. æKY kODULong
  6413. æC unsigned four byte integer
  6414.  
  6415. æKY kODSLong
  6416. æC signed four byte integer
  6417.  
  6418. æKY kODISOStr
  6419. æC Null Terminated 7-bit ASCII.  This is a non-Uservisible string.
  6420.  
  6421. æKY kODASCIIText
  6422. æC ASCII text.  Not null terminated.  Determine the size of the text
  6423. directly from the size of the value.
  6424.  
  6425. æKY kODIntlText
  6426. æC User visible, internationalizable string.
  6427.  
  6428. æKY kODTime_T
  6429. æC Seconds since 1970
  6430.  
  6431. æKY kODPoint
  6432. æC two 16.16 coordinates
  6433.  
  6434. æKY kODRect
  6435. æC two ODPoints, topleft and bottomright
  6436.  
  6437. æKY kODPolygon
  6438. æC list of countours, each of which is a list of points.  Clockwise in
  6439. the standard coordinate system.
  6440.  
  6441. æKY kODIconFamily
  6442. æC Family of Icons, 16x16, 32x32, different bit depths etc. Macintosh
  6443. specific.
  6444.  
  6445. æKY kODTransform
  6446. æC 3x3 matrix of 16.16 number
  6447.  
  6448. æKY kODEditor
  6449. æC A platform specific string which is used to map 1-1 to a shared
  6450. library representing a part editor installed on that platform.
  6451.  
  6452. æKY kODStrongStorageUnitRef
  6453. æC A strong storageUnit reference.  four bytes. See storageUnit API for
  6454. more detail.
  6455.  
  6456. æKY kODWeakStorageUnitRef
  6457. æC A weak storageUnit reference.  four bytes.  See storageUnit API for
  6458. more detail.
  6459.  
  6460. æKY kODPartObject
  6461. æC Indicates that the Persistent Object is a Part.  
  6462.  
  6463. æKY kODFrameObject
  6464. æC Indicates that the Persistent Object is a frame.
  6465.  
  6466. æKY kODNonPersistentFrame
  6467. æC Indicates that the object to be created is a non-persistent frame.
  6468.  
  6469. æKY kODMacIText
  6470. æC Traditional Macintosh representation of international text: two bytes
  6471. script code, two bytes language code, and a variable length array of
  6472. bytes.
  6473.  
  6474. æKY Standard Persistent Properties Constants
  6475. æKL kODPropDraftSavedDate
  6476. kODPropPreODMetaData
  6477. kODPropPreAnnotation
  6478. kODPropName
  6479. kODPropComments
  6480. æC See also ODPart - Standard Properties and Data Interchange - Standard
  6481. Properties
  6482.  
  6483. æKY kODPropDraftSavedDate
  6484. æC This property is a property on the DraftProperties storageUnit which
  6485. indicates the DraftSaved date for Drafts which were "Saved" in the
  6486. Drafts dialog.
  6487.  
  6488. æKY kODPropPreODMetaData
  6489. æC This is an ISO String prefix which used by all OpenDoc Metadata
  6490. property constants.  This ensures that properties with this prefix on
  6491. cloned storageUnits are copied over automatically.  This is not
  6492. intended to be used by part editor developers.
  6493.  
  6494. æKY kODPropPreAnnotation
  6495. æC This is an ISO String prefix which used by part editors to indicate a
  6496. property which should be automatically copied when its storageUnit is
  6497. cloned.  This ensures that properties with this prefix on cloned
  6498. storageUnits are copied over automatically.  This is intended to be
  6499. used by part editor developers.
  6500.  
  6501. æKY kODPropName
  6502. æC Used to store a name property on persistent objects such as parts.
  6503.  
  6504. æKY kODPropComments
  6505. æC Used to store a comments property on persistent objects such as parts.
  6506.  
  6507. æKY Storage Subsystem - Errors Constants
  6508. æKL kODErrCannotFindLinkSourceEdition
  6509. kODErrCannotFindLinkSource
  6510. kODErrAlreadyImportedLink
  6511. æC Errors returned by storage subsystem methods.
  6512.  
  6513. æKY kODErrCannotFindLinkSourceEdition
  6514. æC Cannot locate the source of cross document link because the Edition
  6515. file does not exist [Mac-specific].
  6516.  
  6517. æKY kODErrCannotFindLinkSource
  6518. æC Cannot locate source of cross-document link.
  6519.  
  6520. æKY kODErrAlreadyImportedLink
  6521. æC Cannot create link due to internal error.
  6522.  
  6523. æKY Storage System Constants
  6524. æKL kDPNone
  6525. kDPTransient
  6526. kDPReadOnly
  6527. kDPSharedWrite
  6528. kDPExclusive
  6529. kInvisibleBlocks
  6530. kAllBlocks
  6531. kVisibleBlocks
  6532. kODDefaultDocumentID
  6533. kODPosUndefined
  6534. kODPosSame
  6535. kODPosAll
  6536. kODPosFirstSib
  6537. kODPosLastSib
  6538. kODPosNextSib
  6539. kODPosPrevSib
  6540. kODPosMWrap
  6541. kODIDAll
  6542. kODIndexAll
  6543. kODTypeAll
  6544. kODPosFirstBelow
  6545. kODPosLastBelow
  6546. kODPosFirstAbove
  6547. kODPosLastAbove
  6548. kODPosTop
  6549. kODStorageUnitRefSize
  6550. kODCanTranslate
  6551. kODCannotTranslate
  6552. kODNative
  6553. kODPosReserved11
  6554. kODPosReserved12
  6555. kODPosReserved13
  6556. kODPosReserved14
  6557. kODPosReserved15
  6558. æC These constants are used for the Storage System.
  6559.  
  6560. æKY kDPNone
  6561. æC No access privilege on a Draft.
  6562.  
  6563. æKY kDPTransient
  6564. æC No access privilege on a Draft.
  6565.  
  6566. æKY kDPReadOnly
  6567. æC Read-only access privilege on a Draft.
  6568.  
  6569. æKY kDPSharedWrite
  6570. æC Shared access on a Draft.
  6571.  
  6572. æKY kDPExclusive
  6573. æC Exclusive read-write access on a Draft.
  6574.  
  6575. æKY kInvisibleBlocks
  6576. æC Only Blocks with no references to them should be purged.
  6577.  
  6578. æKY kAllBlocks
  6579. æC All blocks should be purged.
  6580.  
  6581. æKY kVisibleBlocks
  6582. æC Only blocks with references to them should be purged.
  6583.  
  6584. æKY kODDefaultDocumentID
  6585. æC Default Document ID.
  6586.  
  6587. æKY kODPosUndefined
  6588. æC Undefined Property or Value context.
  6589.  
  6590. æKY kODPosSame
  6591. æC Maintain the same Property or Value context.
  6592.  
  6593. æKY kODPosAll
  6594. æC Focus to all Properties or all Values.
  6595.  
  6596. æKY kODPosFirstSib
  6597. æC Set the context to the first Property of the Storage Unit or the first
  6598. Value of the Storage Unit. 
  6599.  
  6600. æKY kODPosLastSib
  6601. æC Set the context to the last Property of the Storage Unit or the last
  6602. Value of the Storage Unit. 
  6603.  
  6604. æKY kODPosNextSib
  6605. æC Set the context to the next Property of the Storage Unit or the first
  6606. next of the Storage Unit with respect to the current context.  
  6607.  
  6608. æKY kODPosPrevSib
  6609. æC Set the context to the previous Property of the Storage Unit or the
  6610. first previous of the Storage Unit with respect to the current
  6611. context. 
  6612.  
  6613. æKY kODPosMWrap
  6614. æC Wraps iteration of Properties or Values.
  6615.  
  6616. æKY kODIDAll
  6617. æC Set the context to all Values.
  6618.  
  6619. æKY kODIndexAll
  6620. æC Set the context to all Values.
  6621.  
  6622. æKY kODTypeAll
  6623. æC Set the context to all Values.
  6624.  
  6625. æKY kODPosFirstBelow
  6626. æC Used to refer to the draft below the current draft. 
  6627.  
  6628. æKY kODPosLastBelow
  6629. æC Used to refer to the draft below the current draft. 
  6630.  
  6631. æKY kODPosFirstAbove
  6632. æC Used to refer to the draft above the current draft. 
  6633.  
  6634. æKY kODPosLastAbove
  6635. æC Used to refer to the draft above the current draft. 
  6636.  
  6637. æKY kODPosTop
  6638. æC Used to refer to the top draft in a document.
  6639.  
  6640. æKY kODStorageUnitRefSize
  6641. æC Size of ODStorageUnitRef
  6642.  
  6643. æKY kODCanTranslate
  6644. æC result code showing that translation is allowed with the given types. 
  6645.  
  6646.  
  6647. æKY kODCannotTranslate
  6648. æC Result code showing that translation is not allowed given the types.
  6649.  
  6650. æKY kODNative
  6651. æC Result code showing that the part handles the data directly.
  6652.  
  6653. æKY kODPosReserved11
  6654. æC Reserved for future use.
  6655.  
  6656. æKY kODPosReserved12
  6657. æC Reserved for future use.
  6658.  
  6659. æKY kODPosReserved13
  6660. æC Reserved for future use.
  6661.  
  6662. æKY kODPosReserved14
  6663. æC Reserved for future use.
  6664.  
  6665. æKY kODPosReserved15
  6666. æC Reserved for future use.
  6667.  
  6668. æKY UI Subsystem -  Standard Mac Events Constants
  6669. æKL kODEvtNull
  6670. kODEvtMouseDown
  6671. kODEvtMouseUp
  6672. kODEvtKeyDown
  6673. kODEvtKeyUp
  6674. kODEvtAutoKey
  6675. kODEvtUpdate
  6676. kODEvtDisk
  6677. kODEvtActivate
  6678. kODEvtOS
  6679. æC These constants are simply redefinitions of the standard Macintosh
  6680. event codes.
  6681.  
  6682. æKY kODEvtNull
  6683. æC A null event. Represents idle time to parts.
  6684.  
  6685. æKY kODEvtMouseDown
  6686. æC A mouse down event. See Inside Mac.
  6687.  
  6688. æKY kODEvtMouseUp
  6689. æC A mouse up event. See Inside Mac.
  6690.  
  6691. æKY kODEvtKeyDown
  6692. æC A key down event. See Inside Mac.
  6693.  
  6694. æKY kODEvtKeyUp
  6695. æC A key up event. See Inside Mac.
  6696.  
  6697. æKY kODEvtAutoKey
  6698. æC An autokey event. See Inside Mac.
  6699.  
  6700. æKY kODEvtUpdate
  6701. æC An update event. See Inside Mac.
  6702.  
  6703. æKY kODEvtDisk
  6704. æC A disk event. See Inside Mac.
  6705.  
  6706. æKY kODEvtActivate
  6707. æC An activate event. See Inside Mac.
  6708.  
  6709. æKY kODEvtOS
  6710. æC An OS Event (suspend/resume and mouseMoved). See Inside mac.
  6711.  
  6712. æKY UI Subsystem - Additional OpenDoc Events Constants
  6713. æKL kODEvtMenu
  6714. kODEvtMouseDownEmbedded
  6715. kODEvtMouseUpEmbedded
  6716. kODEvtMouseDownBorder
  6717. kODEvtMouseUpBorder
  6718. kODEvtWindow
  6719. kODEvtMouseEnter
  6720. kODEvtMouseWithin
  6721. kODEvtMouseLeave
  6722. æC OpenDoc defines some additional events, over and above the standard
  6723. Macintosh events.
  6724.  
  6725. æKY kODEvtMenu
  6726. æC An adaptation of a mouse down in the menu bar, or the equivalent
  6727. Command-Key combination. Message field of event record contains menu
  6728. in high word and item in low  word. Other fields of event record are
  6729. as for mouse down or key down.
  6730.  
  6731. æKY kODEvtMouseDownEmbedded
  6732. æC A mouse down in an embedded facet. Sent to containing facet. Message
  6733. field of event record contains the embedded facet. Other fields of
  6734. event record are as for mouse down.
  6735.  
  6736. æKY kODEvtMouseUpEmbedded
  6737. æC A mouse up event in an embedded facet. Sent to containing facet.
  6738. Message field of event record contains the embedded facet. Other
  6739. fields of event record are as for mouse up.
  6740.  
  6741. æKY kODEvtMouseDownBorder
  6742. æC Mouse down in the active border (around facets of the frame with the
  6743. selection focus). Message field of event record contains the embedded
  6744. facet. Other fields of event record are as for mouse down.
  6745.  
  6746. æKY kODEvtMouseUpBorder
  6747. æC Mouse up in the active border (around facets of the frame with the
  6748. selection focus). Message field of event record contains the embedded
  6749. facet. Other fields of event record are as for mouse up.
  6750.  
  6751. æKY kODEvtWindow
  6752. æC Adaptation of mouse event in the title bar of a window. Message field
  6753. of event record contains part code returned by FindWindow(). Other
  6754. fields of event record are as for mouse down.
  6755.  
  6756. æKY kODEvtMouseEnter
  6757. æC Sent when the mouse first enters a frame (mouse button up). The
  6758. eventInfo parameter contains the mouse location in local (frame)
  6759. coordinates.
  6760.  
  6761. æKY kODEvtMouseWithin
  6762. æC Sent when the mouse moves within a frame (mouse button up). The
  6763. eventInfo parameter contains the mouse location in local (frame)
  6764. coordinates.
  6765.  
  6766. æKY kODEvtMouseLeave
  6767. æC Sent when the mouse moves out of a frame (mouse button up). The
  6768. eventInfo parameter contains the mouse location in local (frame)
  6769. coordinates.
  6770.  
  6771. æKY UI Subsystem - Command IDs Constants
  6772. æKL kODCommandAbout
  6773. kODCommandNew
  6774. kODCommandOpen
  6775. kODCommandOpenDocument
  6776. kODCommandInsert
  6777. kODCommandClose
  6778. kODCommandSave
  6779. kODCommandSaveACopy
  6780. kODCommandRevert
  6781. kODCommandDraft
  6782. kODCommandPageSetup
  6783. kODCommandPrint
  6784. kODCommandUndo
  6785. kODCommandRedo
  6786. kODCommandCut
  6787. kODCommandCopy
  6788. kODCommandPaste
  6789. kODCommandPasteAs
  6790. kODCommandClear
  6791. kODCommandSelectAll
  6792. kODCommandGetPartInfo
  6793. kODCommandPreferences
  6794. kODCommandViewAsWin
  6795. kODCommandDeleteDocument
  6796. æC Position-independent command IDs for the menus in the base menu bar,
  6797. as provided by the OpenDoc shell.
  6798.  
  6799. æKY kODCommandAbout
  6800. æC The command ID for the About… menu item in the Apple menu.
  6801.  
  6802. æKY kODCommandNew
  6803. æC The command ID for the New… item in the Document menu.
  6804.  
  6805. æKY kODCommandOpen
  6806. æC The command ID for the Open item in the Document menu. Applies to a
  6807. selected frame.
  6808.  
  6809. æKY kODCommandOpenDocument
  6810. æC The command ID for the Open Document… item in the Document menu, which
  6811. brings up the Standard File dialog.
  6812.  
  6813. æKY kODCommandInsert
  6814. æC The command ID for the Insert… item in the Document menu.
  6815.  
  6816. æKY kODCommandClose
  6817. æC The command ID for the Close item in the Document menu.
  6818.  
  6819. æKY kODCommandSave
  6820. æC The command ID for the Save menu item in the Document menu.
  6821.  
  6822. æKY kODCommandSaveACopy
  6823. æC The command ID for the Save a Copy… item in the Document menu.
  6824.  
  6825. æKY kODCommandRevert
  6826. æC The command ID for the Revert… item in the Document menu.
  6827.  
  6828. æKY kODCommandDraft
  6829. æC The command ID for the Drafts… item in the Document menu.
  6830.  
  6831. æKY kODCommandPageSetup
  6832. æC The command ID for the Page Setup… item in the Document menu.
  6833.  
  6834. æKY kODCommandPrint
  6835. æC The command ID for the Print… item in the Document menu.
  6836.  
  6837. æKY kODCommandUndo
  6838. æC The command ID for Undo item in the Edit menu.
  6839.  
  6840. æKY kODCommandRedo
  6841. æC The command ID for Redo item in the Edit menu.
  6842.  
  6843. æKY kODCommandCut
  6844. æC The command ID for Cut item in the Edit menu.
  6845.  
  6846. æKY kODCommandCopy
  6847. æC The command ID for Copy item in the Edit menu.
  6848.  
  6849. æKY kODCommandPaste
  6850. æC The command ID for Paste item in the Edit menu.
  6851.  
  6852. æKY kODCommandPasteAs
  6853. æC The command ID for the Paste As… item in the Edit menu.
  6854.  
  6855. æKY kODCommandClear
  6856. æC The command ID for Clear item in the Edit menu.
  6857.  
  6858. æKY kODCommandSelectAll
  6859. æC The command ID for the Select All item in the Edit menu.
  6860.  
  6861. æKY kODCommandGetPartInfo
  6862. æC The command ID for the Get Part Info item in the Edit menu.
  6863.  
  6864. æKY kODCommandPreferences
  6865. æC The command ID for the Preferences… item in the Edit menu.
  6866.  
  6867. æKY kODCommandViewAsWin
  6868. æC The command ID for the View As Window item in the Edit menu.
  6869.  
  6870. æKY kODCommandDeleteDocument
  6871. æC Command ID for the "Delete Document" command in the Document menu.
  6872.  
  6873. æKY UI Subsystem - Foci Constants
  6874. æKL kODScrollingFocus
  6875. kODKeyFocus
  6876. kODMenuFocus
  6877. kODSelectionFocus
  6878. kODModalFocus
  6879. kODClipboardFocus
  6880. æC Constants for the standard foci managed by the Arbitrator. These
  6881. constants are ISO strings which can be tokenized using 
  6882. ODSession::Tokenize().
  6883.  
  6884. æKY kODScrollingFocus
  6885. æC Of type ODFocusType. PageUp etc. keys are sent to the owner of the
  6886. scrolling focus, which may be different from the keystroke focus.
  6887.  
  6888. æKY kODKeyFocus
  6889. æC Of type ODFocusType. The frame which owns this focus is the recipient
  6890. of keyboard events.
  6891.  
  6892. æKY kODMenuFocus
  6893. æC Of type ODFocusType. The frame which owns this focus receives  menu
  6894. events.
  6895.  
  6896. æKY kODSelectionFocus
  6897. æC Of type ODFocusType. The active border is drawn around all facets of
  6898. the frame with the selection focus. Modified mouse clicks are sent to
  6899. this frame.
  6900.  
  6901. æKY kODModalFocus
  6902. æC Of type ODFocusType. A frame in a modal state should own the modal
  6903. focus.
  6904.  
  6905. æKY kODClipboardFocus
  6906. æC Of type ODFocusType.  The frame which owns this focus has access to
  6907. the clipboard.
  6908.  
  6909. æKY UI Subsystem - Menu IDs Constants
  6910. æKL kODAppleMenuID
  6911. kODFileMenuID
  6912. kODEditMenuID
  6913. æC The IDs of the menus in the base menu bar installed by the shell.
  6914.  
  6915. æKY kODAppleMenuID
  6916. æC The ID of the Apple Menu.
  6917.  
  6918. æKY kODFileMenuID
  6919. æC The ID of the Document menu.
  6920.  
  6921. æKY kODEditMenuID
  6922. æC The ID of the Edit Menu.
  6923.  
  6924. æKY UI Subsystem - Part Codes Constants
  6925. æKL kODMDInDesk
  6926. kODMDInMenuBar
  6927. kODMDInSysWindow
  6928. kODMDInContent
  6929. kODMDInDrag
  6930. kODMDInGrow
  6931. kODMDInGoAway
  6932. kODMDInZoomIn
  6933. kODMDInZoomOut
  6934. æC These map exactly to the part codes as returned by FindWindow(). See
  6935. Inside Mac.
  6936.  
  6937. æKY kODMDInDesk
  6938. æC 
  6939.  
  6940. æKY kODMDInMenuBar
  6941. æC 
  6942.  
  6943. æKY kODMDInSysWindow
  6944. æC 
  6945.  
  6946. æKY kODMDInContent
  6947. æC 
  6948.  
  6949. æKY kODMDInDrag
  6950. æC 
  6951.  
  6952. æKY kODMDInGrow
  6953. æC 
  6954.  
  6955. æKY kODMDInGoAway
  6956. æC 
  6957.  
  6958. æKY kODMDInZoomIn
  6959. æC 
  6960.  
  6961. æKY kODMDInZoomOut
  6962. æC 
  6963.  
  6964. æKY UI Subsystem-Persistent Properties Constants
  6965. æKL kODPropRootFrameList
  6966. kODPropWindowProperties
  6967. kODPropWindowRect
  6968. kODPropWindowTitle
  6969. kODPropWindowProcID
  6970. kODPropWindowIsVisible
  6971. kODPropWindowHasCloseBox
  6972. kODPropWindowHasZoomBox
  6973. kODPropWindowIsResizable
  6974. kODPropWindowIsRootWindow
  6975. kODPropWindowIsFloating
  6976. kODPropWindowHasMailer
  6977. kODPropWindowIsMailerAware
  6978. kODPropWindowRefCon
  6979. kODPropRootFrame
  6980. kODPropSourceFrame
  6981. kODPropShouldShowLinks
  6982. æC Constants for the persistent properties of UI system object, namely
  6983. ODWindows.
  6984.  
  6985. æKY kODPropRootFrameList
  6986. æC = "OpenDoc:Property:RootFrameList". A property of the draft. A list of
  6987. storage unit IDs for the root frames of saved windows.
  6988.  
  6989. æKY kODPropWindowProperties
  6990. æC = "OpenDoc:Property:Window".  A reference to a storage unit containing
  6991. window size etc. Added to the root frame of saved windows.
  6992.  
  6993. æKY kODPropWindowRect
  6994. æC = "OpenDoc:Property:WindowRect".  Value type kODRect. The bounding
  6995. rectangle of a window.
  6996.  
  6997. æKY kODPropWindowTitle
  6998. æC = "OpenDoc:Property:WindowTitle".  Value type kODAppleTEXT. Stores the
  6999. title of the window.
  7000.  
  7001. æKY kODPropWindowProcID
  7002. æC = "OpenDoc:Property:WindowProcID". Stores the ProcID of the window.
  7003. Value type kODSShort.
  7004.  
  7005. æKY kODPropWindowIsVisible
  7006. æC = "OpenDoc:Property:WindowVisible". Stores whether the window is
  7007. visible or not. Value type kODBoolean.
  7008.  
  7009. æKY kODPropWindowHasCloseBox
  7010. æC = "OpenDoc:Property:WindowHasCloseBox". Stores whether the window has
  7011. a close box  or not. Value type kODBoolean.
  7012.  
  7013. æKY kODPropWindowHasZoomBox
  7014. æC = "OpenDoc:Property:WindowHasZoomBox". Stores whether the window has a
  7015. zoom box or not. Value type kODBoolean.
  7016.  
  7017. æKY kODPropWindowIsResizable
  7018. æC = "OpenDoc:Property:WindowIsResizable". Stores whether the window has
  7019. a resize box or not. Value type kODBoolean.
  7020.  
  7021. æKY kODPropWindowIsRootWindow
  7022. æC = "OpenDoc:Property:WindowIsRootWindow". Stores whether the window is
  7023. visible or not. Value type kODBoolean.
  7024.  
  7025. æKY kODPropWindowIsFloating
  7026. æC = "OpenDoc:Property:WindowIsFloating".  Stores whether the window is
  7027. floating or not. Value type kODBoolean.
  7028.  
  7029. æKY kODPropWindowHasMailer
  7030. æC = "OpenDoc:Property:WindowHasMailer".  Stores whether the window has a
  7031. mailer attached or not. Value type kODBoolean.
  7032.  
  7033. æKY kODPropWindowIsMailerAware
  7034. æC = "OpenDoc:Property:WindowIsMailerAware".  Stores whether the window
  7035. can have a mailer attached or not. Value type kODBoolean.
  7036.  
  7037. æKY kODPropWindowRefCon
  7038. æC = "OpenDoc:Property:WindowRefCon".  Stores the value of the refCon
  7039. field of the window record. Value type kODSLong.
  7040.  
  7041. æKY kODPropRootFrame
  7042. æC = "OpenDoc:Property:RootFrame". Storesthe ID of the root frame. Value
  7043. type kODID.
  7044.  
  7045. æKY kODPropSourceFrame
  7046. æC = "OpenDoc:Property:SourceFrame".  Storesthe ID of the source frame.
  7047. Value type kODID.
  7048.  
  7049. æKY kODPropShouldShowLinks
  7050. æC = "OpenDoc:Property:ShouldShowLinks". Stores whether or not parts in
  7051. this window should display link borders.
  7052.  
  7053. æKY UI subsytem - Undo Constants
  7054. æKL kODDone
  7055. kODUndone
  7056. kODRedone
  7057.  
  7058. æKY kODDone
  7059. æC Value passed to Part::DisposeActionState() if the action was on the 
  7060. Undo stack
  7061.  
  7062. æKY kODUndone
  7063. æC Value passed to Part::DisposeActionState() if the action was on the 
  7064. Redo stack
  7065.  
  7066. æKY kODRedone
  7067. æC Value passed to Part::DisposeActionState() if the action was on the 
  7068. Undo stack
  7069.  
  7070.  
  7071. æKY ODContainerHelp
  7072. ODContainer
  7073. Container
  7074. æKL ODContainer::ODContainer
  7075. ODContainer::~ODContainer
  7076. ODContainer::Close
  7077. ODContainer::Create
  7078. ODContainer::GetDocument
  7079. ODContainer::GetID
  7080. ODContainer::GetName
  7081. ODContainer::GetStorageSystem
  7082. ODContainer::IncrementRefCount
  7083. ODContainer::InitContainer
  7084. ODContainer::Open
  7085. ODContainer::Purge
  7086. ODContainer::Release
  7087. ODContainer::ReleaseDocument
  7088. ODContainer::SetName
  7089. ODContainer::fDocuments
  7090. ODContainer::fID
  7091. ODContainer::fName
  7092. ODContainer::fStorageSystem
  7093. æC Basic Class Documentation
  7094. A Container is a physical collection of bytes, like a file or a
  7095. section of memory. Each Container contains one or more Documents. Each
  7096. Document in turn contains one or more Drafts. Each Draft in turn
  7097. contains one or more ODStorageUnit. 
  7098.  ODContainer is a class used to manipulate this physical Container.
  7099. Similarly, ODDocument is a class used to manipulate a Document;
  7100. ODDraft maniuplates a Draft; and ODStorageUnit manipulates a Storage
  7101. Unit. This set of related ODContainer, ODDocument, ODDraft and
  7102. ODStorageUnit classes are collectively called a Container Suite. They
  7103. are usually implemented together as a set and work intimately with
  7104. each other.
  7105. The class documented here (ODContainer)  is a abstract base class.
  7106. Container Suite Implementors should subclass ODContainer to provide
  7107. the functionality of a OpenDoc Container for their Container Suite.
  7108.  
  7109. Theory of Operation
  7110. ODContainer is derived from ODRefCntObject. When ODContainer is first
  7111. constructed (either through ODAbsStorageSystem::CreateContainer or
  7112. ODAbsStorageSystem::GetContainer), its reference count is 1. Every
  7113. time ODAbsStorageSystem::GetContainer is called with containerType and
  7114. id referring to this Container, the refCount of the corresponding
  7115. ODContainer object is incremented by 1. When ODContainer is no longer
  7116. needed, ODContainer::Release should be called.
  7117. This class is never directly instantiated by anyone except the Storage
  7118. System. When the Shell or a Container App needs to create or get an
  7119. OpenDoc container, it will call the corresponding ODStorageSystem
  7120. method. The ODStorageSystem method will then instantiate a ODContainer
  7121. object to manipuate the physical Container.
  7122.  
  7123. Invariants Maintained by Class
  7124. There is at most one (i.e. 0 or 1) ODDocument object for every 
  7125. ODDocumentID requested via GetDocument.
  7126. Until a requested document has been Released, the ODDocument object
  7127. will be valid. After a requested document has been Released, the
  7128. ODDocument object which referred to that document is no longer valid.
  7129. It is the responsibility of ODContainer to maintain these invariants,
  7130. not ODDocument, since ODContainer maintains the collection of
  7131. ODDocuments.
  7132. æKY ODContainer::ODContainer
  7133. Container::ODContainer
  7134. Container->ODContainer
  7135. æT Class Method
  7136. æD ODContainer();
  7137.  
  7138. æC Protection
  7139.     Public.  Private by convention. This method is only called by ODStorageSystem.
  7140.  
  7141. Override policy
  7142.     Derived class must override.
  7143.     Derived class must call base class behavior.
  7144.  
  7145. Basic operation
  7146. Constructor of the class.
  7147.  
  7148. Inputs
  7149. None.
  7150.  
  7151. Outputs
  7152. <return>
  7153.     a valid ODContainer object
  7154.  
  7155. Exceptions Signalled
  7156. None.
  7157.  
  7158. Pre conditions
  7159. None.
  7160.  
  7161. Post conditions
  7162. An un-Initialized ODContainer object is created.
  7163.  
  7164. æKY ODContainer::~ODContainer
  7165. Container::~ODContainer
  7166. Container->~ODContainer
  7167. æT Class Method
  7168. æD ~ODContainer();
  7169.  
  7170. æC Protection
  7171.     Public.  Private by convention. This method is only called by ODStorageSystem.
  7172.  
  7173. Override policy
  7174.     Derived class must override.
  7175.     Derived class must call base class behavior.
  7176.  
  7177. Basic operation
  7178. Deletes its ODDocument object (if exists), and closes the container.
  7179.  
  7180. Inputs
  7181. none
  7182.  
  7183. Outputs
  7184. none
  7185.  
  7186. Exceptions Signalled
  7187. None.
  7188.  
  7189. Pre conditions
  7190. this is a valid ODContainer object.
  7191.  
  7192. Post conditions
  7193. The container associcated with this ODContainer object is closed.
  7194. this is no longer a valid ODContainer object.
  7195.  
  7196. æKY ODContainer::Close
  7197. Container::Close
  7198. Container->Close
  7199. æT Class Method
  7200. æD ODContainer* Close();
  7201.  
  7202. æC Protection
  7203.     Public.  Private by convention. This method should only be called by
  7204. ODStorageSystem::ReleaseContainer.
  7205.  
  7206. Override policy
  7207.     Derived class must override.
  7208.     Derived class cannot call base class behavior.
  7209.  
  7210. Basic operation
  7211. Closes an access session to the container associated with this
  7212. ODContainer object.
  7213.  
  7214. Inputs
  7215. none
  7216.  
  7217. Outputs
  7218. <return>
  7219.     this
  7220.  
  7221. Exceptions Signalled
  7222. None.
  7223.  
  7224. Pre conditions
  7225. There is an open access session to the container associated with this
  7226. ODContainer object
  7227.  
  7228. Post conditions
  7229. There is no access session to  the container associated with this
  7230. ODContainer object
  7231.  
  7232. æKY ODContainer::Create
  7233. Container::Create
  7234. Container->Create
  7235. æT Class Method
  7236. æD ODContainer* Create();
  7237.  
  7238. æC Protection
  7239.     Public.  Private by convention. This method should only be called by
  7240. ODStorageSystem::CreateContainer.
  7241.  
  7242. Override policy
  7243.     Derived class must override.
  7244.     Derived class cannot call base class behavior.
  7245.  
  7246. Basic operation
  7247. Creates the physical Container using this ODContainer object and
  7248. associates the created container with this ODContainer object. This
  7249. function does NOT open the container.
  7250.  
  7251. Inputs
  7252. none
  7253.  
  7254. Outputs
  7255. <return>
  7256.     this
  7257.  
  7258. Exceptions Signalled
  7259. kODErrCannotCreateContainer
  7260.     Cannot create the physical Container.
  7261.  
  7262. Pre conditions
  7263. None.
  7264.  
  7265. Post conditions
  7266. There exists a physical Container which conforms to the specification
  7267. contained in this ODContainer object.
  7268.  
  7269. æKY ODContainer::GetDocument
  7270. Container::GetDocument
  7271. Container->GetDocument
  7272. æT Class Method
  7273. æD ODDocument* GetDocument(
  7274. ODDocumentID id);
  7275.  
  7276. æC Protection
  7277.     Public.  The Shell calls this method when a OpenDoc Document is opened.
  7278.  
  7279. Override policy
  7280.     Derived class must override.
  7281.     Derived class cannot call base class behavior.
  7282.  
  7283. Basic operation
  7284. Returns a fully functional ODDocument object associated with the given
  7285. id. (A fully functional object is one that has been initialized and
  7286. can be used right away).
  7287.  
  7288. Inputs
  7289. id
  7290.     ID of the document reqeusted
  7291.  
  7292. Outputs
  7293. <return>
  7294.     A fully functional ODDocument object.
  7295.  
  7296. Exceptions Signalled
  7297. kODErrInvalidDocument
  7298.     Cannot get desired Document because the id is invalid.
  7299.  
  7300. Pre conditions
  7301. None.
  7302.  
  7303. Post conditions
  7304. The refCount of ODDocument object is incremented by 1 if ODDocument
  7305. object is in the ODDocument collection prior to this call. Otherwise,
  7306. the refCount of ODDocument object should be 1.
  7307.  
  7308. æKY ODContainer::GetID
  7309. Container::GetID
  7310. Container->GetID
  7311. æT Class Method
  7312. æD ODContainerID GetID();
  7313.  
  7314. æC Protection
  7315.     Public.  A Part should not need to worry about the ID of its container.
  7316.  
  7317. Override policy
  7318.     Derived class must override.
  7319.     Derived class cannot call base class behavior.
  7320.  
  7321. Basic operation
  7322. Returns the ID of this object. This ID should be the one used in
  7323. ODAbsStorageSystem::CreateContainer or
  7324. ODAbsStorageSystem::CreateContainer.
  7325.  
  7326. Inputs
  7327. none
  7328.  
  7329. Outputs
  7330. <return>
  7331.     ID of the Container.
  7332.  
  7333. Exceptions Signalled
  7334. None.
  7335.  
  7336. Pre conditions
  7337. None.
  7338.  
  7339. Post conditions
  7340. None.
  7341.  
  7342. æKY ODContainer::GetName
  7343. Container::GetName
  7344. Container->GetName
  7345. æT Class Method
  7346. æD ODContainerName GetName();
  7347.  
  7348. æC Protection
  7349.     Public.  A Part can call this method but it should not need to know its
  7350. Container's name. 
  7351.  
  7352. Override policy
  7353.     Derived class must override.
  7354.     Derived class cannot call base class behavior.
  7355.  
  7356. Basic operation
  7357. Returns a copy of the name of this container. If the Container does
  7358. not have a name, kODNULL is returned.
  7359.  
  7360. Inputs
  7361. none
  7362.  
  7363. Outputs
  7364. <return>
  7365.     Name of the container.
  7366.  
  7367. Exceptions Signalled
  7368. None.
  7369.  
  7370. Pre conditions
  7371. None.
  7372.  
  7373. Post conditions
  7374. None.
  7375.  
  7376. æKY ODContainer::GetStorageSystem
  7377. Container::GetStorageSystem
  7378. Container->GetStorageSystem
  7379. æT Class Method
  7380. æD ODStorageSystem* GetStorageSystem();
  7381.  
  7382. æC Protection
  7383.     Public.  
  7384.  
  7385. Override policy
  7386.     Derived class must override.
  7387.     Derived class cannot call base class behavior.
  7388.  
  7389. Basic operation
  7390. Returns the ODStorageSystem object associated with this ODContainer
  7391. object.
  7392.  
  7393. Inputs
  7394. none
  7395.  
  7396. Outputs
  7397. <return>
  7398.      ODStorageSystem object associated with this ODContainer Object.
  7399.  
  7400. Exceptions Signalled
  7401. None.
  7402.  
  7403. Pre conditions
  7404. None.
  7405.  
  7406. Post conditions
  7407. None.
  7408.  
  7409. æKY ODContainer::IncrementRefCount
  7410. Container::IncrementRefCount
  7411. Container->IncrementRefCount
  7412. æT Class Method
  7413. æD void  IncrementRefCount();
  7414.  
  7415. æC Protection
  7416.     Public.  Can be called by any class which needs a reference to this ODContainer
  7417. object.
  7418.  
  7419. Override policy
  7420.     Derived class must override.
  7421.     Derived class cannot call base class behavior.
  7422.  
  7423. Basic operation
  7424. Increments the reference count of the Container.
  7425.  
  7426. Inputs
  7427. none
  7428.  
  7429. Outputs
  7430. None
  7431.  
  7432. Exceptions Signalled
  7433. None.
  7434.  
  7435. Pre conditions
  7436. None.
  7437.  
  7438. Post conditions
  7439. The reference count for this object  is incremented by 1.
  7440.  
  7441. æKY ODContainer::InitContainer
  7442. Container::InitContainer
  7443. Container->InitContainer
  7444. æT Class Method
  7445. æD void InitContainer();
  7446.  
  7447. æC Protection
  7448.     Public.  Private by convention. This method should only be called by
  7449. ODStorageSystem::CreateContainer or ODStorageSystem::GetContainer.
  7450.  
  7451. Override policy
  7452.     Derived class must override.
  7453.     Derived class must call base class behavior.
  7454.  
  7455. Basic operation
  7456. Initializes this ODContainer object.
  7457.  
  7458. Inputs
  7459. none
  7460.  
  7461. Outputs
  7462. none
  7463.  
  7464. Exceptions Signalled
  7465. None.
  7466.  
  7467. Pre conditions
  7468. None.
  7469.  
  7470. Post conditions
  7471. this ODContainer object has been properly initialized.
  7472.  
  7473. æKY ODContainer::Open
  7474. Container::Open
  7475. Container->Open
  7476. æT Class Method
  7477. æD ODContainer* Open();
  7478.  
  7479. æC Protection
  7480.     Public.  Private by convention. This method should only be called by
  7481. ODStorageSystem::CreateContainer and ODStorageSystem::GetContainer.
  7482.  
  7483. Override policy
  7484.     Derived class must override.
  7485.     Derived class cannot call base class behavior.
  7486.  
  7487. Basic operation
  7488. Opens an access session to the container associated with this
  7489. ODContainer object.
  7490.  
  7491. Inputs
  7492. None
  7493.  
  7494. Outputs
  7495. <return>
  7496.     this
  7497.  
  7498. Exceptions Signalled
  7499. kODErrCannotOpenContainer
  7500.     Cannot open the physical Container.
  7501.  
  7502. Pre conditions
  7503. There is no access session to the container associated with this
  7504. ODContainer object.
  7505.  
  7506. Post conditions
  7507. There is an open access session to the container associated with this
  7508. ODContainer object.
  7509.  
  7510. æKY ODContainer::Purge
  7511. Container::Purge
  7512. Container->Purge
  7513. æT Class Method
  7514. æD ODSize Purge(
  7515. ODSize size);
  7516.  
  7517. æC Protection
  7518.     Public.  Private by convention. This method should only be called by
  7519. ODStorageSystem::Purge.
  7520.  
  7521. Override policy
  7522.     Derived class must override.
  7523.     Derived class cannot call base class behavior.
  7524.  
  7525. Basic operation
  7526. Purges memory from ephemeral store until size bytes (not necessarily
  7527. contiguous) have been freed up.
  7528.  
  7529. Inputs
  7530. size
  7531.     Number of bytes to purge
  7532.  
  7533. Outputs
  7534. <return>
  7535.     Number of bytes actually purged
  7536.  
  7537. Exceptions Signalled
  7538. None.
  7539.  
  7540. Pre conditions
  7541. None.
  7542.  
  7543. Post conditions
  7544. Either size bytes (not necessarily contiguous) are free in the default
  7545. heap or  Purge() has been called on every ODDocument object associated
  7546. with this ODContainer object.
  7547.  
  7548. æKY ODContainer::Release
  7549. Container::Release
  7550. Container->Release
  7551. æT Class Method
  7552. æD ODStorageSystem*   Release();
  7553.  
  7554. æC Protection
  7555.     Public.  
  7556.  
  7557. Override policy
  7558.     Derived class must override.
  7559.     Derived class cannot call base class behavior.
  7560.  
  7561. Basic operation
  7562. Decrements the ref count of this ODContainer object.
  7563.  
  7564. Inputs
  7565. none
  7566.  
  7567. Outputs
  7568. <return>
  7569.     fStorage
  7570.  
  7571. Exceptions Signalled
  7572. None.
  7573.  
  7574. Pre conditions
  7575. None.
  7576.  
  7577. Post conditions
  7578. This ODContainer object is no longer guaranteed to be a valid
  7579. ODContainer object
  7580.  
  7581. æKY ODContainer::ReleaseDocument
  7582. Container::ReleaseDocument
  7583. Container->ReleaseDocument
  7584. æT Class Method
  7585. æD ODContainer* ReleaseDocument(
  7586. ODDocument* document);
  7587.  
  7588. æC Protection
  7589.     Public.  Private by convention. This method should only be called by
  7590. ODDocument::Release.
  7591.  
  7592. Override policy
  7593.     Derived class must override.
  7594.     Derived class cannot call base class behavior.
  7595.  
  7596. Basic operation
  7597. Releases the ODDocument object.
  7598.  
  7599. Inputs
  7600. document
  7601.     the document to be released
  7602.  
  7603. Outputs
  7604. <return>
  7605.     this ODContainer object.
  7606.  
  7607. Exceptions Signalled
  7608. None.
  7609.  
  7610. Pre conditions
  7611. document is a valid ODDocument object in this container which was
  7612. obtained via GetDocument.
  7613. The reference count of document is 0.
  7614.  
  7615. Post conditions
  7616. document is no longer a valid ODDocument object.
  7617.  
  7618. æKY ODContainer::SetName
  7619. Container::SetName
  7620. Container->SetName
  7621. æT Class Method
  7622. æD void SetName(
  7623. ODContainerName name);
  7624.  
  7625. æC Protection
  7626.     Public.  Called by the Shell or the Container App to set the name of this
  7627. Container.
  7628.  
  7629. Override policy
  7630.     Derived class must override.
  7631.     Derived class cannot call base class behavior.
  7632.  
  7633. Basic operation
  7634. Sets the name of this container.
  7635.  
  7636. Inputs
  7637. name
  7638.     the new name of this container
  7639.  
  7640. Outputs
  7641. none
  7642.  
  7643. Exceptions Signalled
  7644. None.
  7645.  
  7646. Pre conditions
  7647. name is a valid ODContainerName
  7648.  
  7649. Post conditions
  7650. The name of the container is name.
  7651.  
  7652. æKY ODContainer::fDocuments
  7653. Container::fDocuments
  7654. æT Class Field
  7655. æD LinkedList*
  7656. æC Persistent form
  7657. None.
  7658.  
  7659. æKY ODContainer::fID
  7660. Container::fID
  7661. æT Class Field
  7662. æD ODContainerID
  7663. æC Persistent form
  7664. None.
  7665.  
  7666. æKY ODContainer::fName
  7667. Container::fName
  7668. æT Class Field
  7669. æD ODContainerName
  7670. æC Persistent form
  7671. Container Name
  7672. kODPropCntainerName
  7673. Contains the name of the container.
  7674.  
  7675.  
  7676. æKY ODContainer::fStorageSystem
  7677. Container::fStorageSystem
  7678. æT Class Field
  7679. æD ODStorageSystem*
  7680. æC 
  7681.  
  7682. æKY ODCPlusSemanticInterfaceHelp
  7683. ODCPlusSemanticInterface
  7684. CPlusSemanticInterface
  7685. æKL ODCPlusSemanticInterface::GetSIHelper
  7686. ODCPlusSemanticInterface::InitCPlusSemanticInterface
  7687. æC Basic Class Documentation
  7688. This class is a supported subclass of the abstract base class
  7689. ODSemanticInterface. It is C++ specific because it uses a C++ helper
  7690. class to implement its functionality. All the functionality of this
  7691. class is found in the helper class, SIHelperAbs. This class is an
  7692. abstract base class. A supported subclass is provided called SIHelper.
  7693. Please consult the documentation for this class.
  7694.  
  7695. Theory of Operation
  7696. This class simply overrides the unimplemented methods of the abstract
  7697. base class ODSemanticInterface and forwards all the calls to the
  7698. methods of the C++ helper class.
  7699.  
  7700. Invariants Maintained by Class
  7701. An instance of the C++ helper class must be valid and exist for the
  7702. life of an instance of this class.
  7703. æKY ODCPlusSemanticInterface::GetSIHelper
  7704. CPlusSemanticInterface::GetSIHelper
  7705. CPlusSemanticInterface->GetSIHelper
  7706. æT Class Method
  7707. æD 
  7708.  
  7709. æC Protection
  7710.     Public.  
  7711.  
  7712. Override policy
  7713.     Derived class can override.
  7714.     Derived class must call base class behavior, before derived class behavior.
  7715.  
  7716. Basic operation
  7717. Returns the subclass of SIHelperAbs being used by this instance of the
  7718. class.
  7719.  
  7720. Inputs
  7721. None.
  7722.  
  7723. Outputs
  7724. <return>
  7725.     subclass of SIHelperAbs being used by this instance of the class.
  7726.  
  7727. Exceptions Signalled
  7728. None.
  7729.  
  7730. Pre conditions
  7731. None.
  7732.  
  7733. Post conditions
  7734. None.
  7735.  
  7736. æKY ODCPlusSemanticInterface::InitCPlusSemanticInterface
  7737. CPlusSemanticInterface::InitCPlusSemanticInterface
  7738. CPlusSemanticInterface->InitCPlusSemanticInterface
  7739. æT Class Method
  7740. æD 
  7741.  
  7742. æC Protection
  7743.     Public.  
  7744.  
  7745. Override policy
  7746.     Derived class can override.
  7747.     Derived class must call base class behavior, before derived class behavior.
  7748.  
  7749. Basic operation
  7750. This call initializes the instance and sets the part to base and the
  7751. helper class to helper.
  7752.  
  7753. Inputs
  7754. base
  7755.     the part for which this is the SemanticInterface extension
  7756. helper
  7757.     the subclass of the class SIHelperAbs to be used.
  7758. session
  7759.     a reference to the instance of the ODSession.
  7760.  
  7761. Outputs
  7762. None.
  7763.  
  7764. Exceptions Signalled
  7765. None.
  7766.  
  7767. Pre conditions
  7768. None.
  7769.  
  7770. Post conditions
  7771. None.
  7772.  
  7773.  
  7774. æKY ODDescHelp
  7775. ODDesc
  7776. Desc
  7777. æKL ODDesc::GetDescType
  7778. ODDesc::GetRawData
  7779. ODDesc::SetDescType
  7780. ODDesc::SetRawData
  7781. æC Basic Class Documentation
  7782. This class is intended to imitate the functionality of the Apple event
  7783. type AEDesc. The main difference is that ODDescs will be correctly
  7784. marshalled in a DSOM world, whereas AEDescs cannot be. In release 1.0
  7785. of OpenDoc, this class has only four simple methods using to input and
  7786. export data from the ODDesc. Therefore, in order to use an ODDesc, you
  7787. must first extract the data from it, create an AEDesc from it and use
  7788. the appropriate Apple event manager functions on it. two public
  7789. utility routines are provided that make this process easier:
  7790. AEDesctoODDesc, ODDescToAEDesc.
  7791.  
  7792. Theory of Operation
  7793. This class is intended to hide the implementation of an AEDesc from
  7794. the user and therefore allow DSOM-ability and future changes. Platform
  7795. implementors should do whatever is appropriate for their platform.
  7796.  
  7797. Invariants Maintained by Class
  7798.  
  7799. æKY ODDesc::GetDescType
  7800. Desc::GetDescType
  7801. Desc->GetDescType
  7802. æT Class Method
  7803. æD 
  7804.  
  7805. æC Protection
  7806.     Public.  
  7807.  
  7808. Override policy
  7809.     Derived class can override.
  7810.     Derived class must call base class behavior, during derived class behavior.
  7811.  
  7812. Basic operation
  7813. Return the descriptor type of the ODDesc. Note that if an ODDesc
  7814. represents a Apple event-specific descriptor, this data may be
  7815. meaningless to the user. However, when creating an AEDesc from this
  7816. data, the appropriate Apple event manager functions can then be used
  7817. on that AEDesc to interpret the data.
  7818.  
  7819. Inputs
  7820. None.
  7821.  
  7822. Outputs
  7823. <return>
  7824.     the descriptor type
  7825.  
  7826. Exceptions Signalled
  7827. None.
  7828.  
  7829. Pre conditions
  7830. None.
  7831.  
  7832. Post conditions
  7833. None.
  7834.  
  7835. æKY ODDesc::GetRawData
  7836. Desc::GetRawData
  7837. Desc->GetRawData
  7838. æT Class Method
  7839. æD 
  7840.  
  7841. æC Protection
  7842.     Public.  
  7843.  
  7844. Override policy
  7845.     Derived class cannot override.
  7846.     Derived class cannot call base class behavior, during derived class behavior.
  7847.  
  7848. Basic operation
  7849. Return the ODByteArray that represents the raw data contained in the
  7850. ODDesc. Note that if an ODDesc represents a Apple event-specific
  7851. descriptor, this data may be meaningless to the user. However, when
  7852. creating an AEDesc from this data, the appropriate Apple event manager
  7853. functions can then be used on that AEDesc to interpret the data.
  7854.  
  7855. Inputs
  7856. None.
  7857.  
  7858. Outputs
  7859. <return>
  7860.     the raw bytes.
  7861.  
  7862. Exceptions Signalled
  7863. kODErrOutOfMemory
  7864.     Could not allocate the memory for the return parameter.
  7865.  
  7866. Pre conditions
  7867. None.
  7868.  
  7869. Post conditions
  7870. An new ODByteArray is allocated.
  7871.  
  7872. æKY ODDesc::SetDescType
  7873. Desc::SetDescType
  7874. Desc->SetDescType
  7875. æT Class Method
  7876. æD 
  7877.  
  7878. æC Protection
  7879.     Public.  
  7880.  
  7881. Override policy
  7882.     Derived class can override.
  7883.     Derived class must call base class behavior, during derived class behavior.
  7884.  
  7885. Basic operation
  7886. Set the descriptor type of the ODDesc. Note that this may change the
  7887. interpretation of the data in the descriptor, but will not change the
  7888. raw data itself. Note that if an ODDesc represents a Apple
  7889. event-specific descriptor, this data may be meaningless to the user.
  7890. However, when creating an AEDesc from this data, the appropriate Apple
  7891. event manager functions can then be used on that AEDesc to interpret
  7892. the data.
  7893.  
  7894. Inputs
  7895. descType
  7896.     The descriptor type.
  7897.  
  7898. Outputs
  7899. None.
  7900.  
  7901. Exceptions Signalled
  7902. None.
  7903.  
  7904. Pre conditions
  7905. None.
  7906.  
  7907. Post conditions
  7908. None.
  7909.  
  7910. æKY ODDesc::SetRawData
  7911. Desc::SetRawData
  7912. Desc->SetRawData
  7913. æT Class Method
  7914. æD 
  7915.  
  7916. æC Protection
  7917.     Public.  
  7918.  
  7919. Override policy
  7920.     Derived class cannot override.
  7921.     Derived class cannot call base class behavior, during derived class behavior.
  7922.  
  7923. Basic operation
  7924. Set the raw data contained in the ODDesc using the ODByteArray that is
  7925. passed in. Any previous data is deleted. Note that if an ODDesc
  7926. represents a Apple event-specific descriptor, this data may be
  7927. meaningless to the user. However, when creating an AEDesc from this
  7928. data, the appropriate Apple event manager functions can then be used
  7929. on that AEDesc to interpret the data.
  7930.  
  7931. Inputs
  7932. data
  7933.     The raw bytes.
  7934.  
  7935. Outputs
  7936. None.
  7937.  
  7938. Exceptions Signalled
  7939. kODErrOutOfMemory
  7940.     Could not allocate storage for the input parameter. 
  7941.  
  7942. Pre conditions
  7943. None.
  7944.  
  7945. Post conditions
  7946. An new ODByteArray is allocated.
  7947.  
  7948.  
  7949. æKY ODDispatcherHelp
  7950. ODDispatcher
  7951. Dispatcher
  7952. æKL ODDispatcher::ODDispatcher
  7953. ODDispatcher::~ODDispatcher
  7954. ODDispatcher::AddDispatchModule
  7955. ODDispatcher::AddMonitor
  7956. ODDispatcher::Dispatch
  7957. ODDispatcher::Exit
  7958. ODDispatcher::GetDispatchModule
  7959. ODDispatcher::GetMouseRegion
  7960. ODDispatcher::GetSleepTime
  7961. ODDispatcher::InitDispatcher
  7962. ODDispatcher::InvalidateFacetUnderMouse
  7963. ODDispatcher::Purge
  7964. ODDispatcher::Redispatch
  7965. ODDispatcher::RegisterIdle
  7966. ODDispatcher::RemoveDispatchModule
  7967. ODDispatcher::RemoveMonitor
  7968. ODDispatcher::SetIdleFrequency
  7969. ODDispatcher::SetMouseRegion
  7970. ODDispatcher::ShouldExit
  7971. ODDispatcher::UnregisterIdle
  7972. ODDispatcher::Yield
  7973. ODDispatcher::fExit
  7974. ODDispatcher::fFacetUnderMouse
  7975. ODDispatcher::fIdleList
  7976. ODDispatcher::fMouseRegion
  7977. ODDispatcher::fPartMouseRegion
  7978. ODDispatcher::fSession
  7979. æC Basic Class Documentation
  7980. ODDispatcher defines an extensible event dispatcher for distributing
  7981. events to parts.
  7982. Each OpenDoc session has a single dispatcher object, accessed by
  7983. calling ODSession::GetDispatcher(). 
  7984. The dispatcher is called from the application shell's event loop to
  7985. dispatch events to parts. 
  7986. ODDispatcher is a derived class of ODObject.
  7987. A related class is ODDispatchModule.
  7988. ODDispatcher is implemented by platform vendors. It is
  7989. platform-specific, since different platforms have different models for
  7990. handling events.
  7991.  
  7992. Theory of Operation
  7993. The dispatcher is responsible for distributing events to parts. Events
  7994. not handled by a part are handled by the shell application or dropped
  7995. on the floor. The actual distribution of events is performed by
  7996. dispatch modules. The dispatcher maintains a dictionary associating
  7997. event codes with ODDispatchModule objects. One or more dispatch
  7998. modules will handle standard events, but part handlers can add
  7999. ODDispatchModules for new event types.
  8000. A dispatch module can also be installed as a monitor. In this case, it
  8001. gets to see events of a certain type, but does not “swallow them up”.
  8002. No assumptions can be made regarding the order in which events are
  8003. monitored and handled.
  8004. Events are passed to parts using a single bottleneck method
  8005. ODPart::HandleEvent(). Part Editors or a part editor framework must
  8006. examine the event data to determine the type of event.
  8007.  
  8008. Invariants Maintained by Class
  8009. ODDispatcher maintains a dictionary of ODDispatchModule objects,
  8010. indexed by event type. The dictionary contains at least one dispatch
  8011. module for handling the standard events of a particular platform.
  8012. ODDispatcher also contains a reference to the system interface, for
  8013. easy access.
  8014.  
  8015. Other Persistent Properties
  8016. No persistent properties
  8017. æKY ODDispatcher::ODDispatcher
  8018. Dispatcher::ODDispatcher
  8019. Dispatcher->ODDispatcher
  8020. æT Class Method
  8021. æD ODDispatcher();
  8022.  
  8023. æC Protection
  8024.     Public.  The dispatcher  is created by the OpenDoc session object. Parts do not
  8025. create instances of this class.
  8026.  
  8027. Override policy
  8028.     Derived class cannot override.
  8029.     Derived class cannot call base class behavior, during derived class behavior.
  8030.  
  8031. Basic operation
  8032. Initializes the fields of the instance to safe defaults. 
  8033. Initialization that might fail is done in InitDispatcher().
  8034.  
  8035. Inputs
  8036. None.
  8037.  
  8038. Outputs
  8039. None.
  8040.  
  8041. Exceptions Signalled
  8042. None.
  8043.  
  8044. Pre conditions
  8045. None.
  8046.  
  8047. Post conditions
  8048. Dispatcher is constructed, but not yet usable, because InitDispatcher
  8049. must be called.
  8050.  
  8051. æKY ODDispatcher::~ODDispatcher
  8052. Dispatcher::~ODDispatcher
  8053. Dispatcher->~ODDispatcher
  8054. æT Class Method
  8055. æD ~ODDispatcher();
  8056.  
  8057. æC Protection
  8058.     Public.  The dispatcher is destroyed by the OpenDoc session object. Parts do
  8059. not destroy dispatchers.
  8060.  
  8061. Override policy
  8062.     Derived class cannot override.
  8063.     Derived class cannot call base class behavior, during derived class behavior.
  8064.  
  8065. Basic operation
  8066. Frees the memory allocated by the dispatcher.
  8067.  
  8068. Inputs
  8069. None.
  8070.  
  8071. Outputs
  8072. None.
  8073.  
  8074. Exceptions Signalled
  8075. None.
  8076.  
  8077. Pre conditions
  8078. A valid instance.
  8079.  
  8080. Post conditions
  8081. The memory used by the instance is freed, and the instance is no
  8082. longer usable.
  8083.  
  8084. æKY ODDispatcher::AddDispatchModule
  8085. Dispatcher::AddDispatchModule
  8086. Dispatcher->AddDispatchModule
  8087. æT Class Method
  8088. æD void AddDispatchModule(
  8089. ODEventType eventType,
  8090. ODDispatchModule* dispatchModule);
  8091.  
  8092. æC Protection
  8093.     Public.  Not called by most parts.
  8094.  
  8095. Override policy
  8096.     Derived class can override.
  8097.     Derived class can call base class behavior, during derived class behavior.
  8098.  
  8099. Basic operation
  8100. Adds the specified dispatch module to the dictionary of dispatch
  8101. modules.
  8102.  
  8103. Inputs
  8104. eventType
  8105.     An event code
  8106. dispatchModule
  8107.     A dispatch module for that event
  8108.  
  8109. Outputs
  8110. None.
  8111.  
  8112. Exceptions Signalled
  8113. kODErrExistingDispatchModule
  8114.     module is already installed.
  8115. kODErrInvalidDispatchModule
  8116.     specified dispatch module is invalid.
  8117.  
  8118. Pre conditions
  8119. A valid initialize instance. A valid initialized dispatch module.
  8120.  
  8121. Post conditions
  8122. The dictionary contains the specified dispatch module.
  8123.  
  8124. æKY ODDispatcher::AddMonitor
  8125. Dispatcher::AddMonitor
  8126. Dispatcher->AddMonitor
  8127. æT Class Method
  8128. æD void AddMonitor(
  8129. ODEventType eventType,
  8130. ODDispatchModule* dispatchModule);
  8131.  
  8132. æC Protection
  8133.     Public.  Not called by most parts.
  8134.  
  8135. Override policy
  8136.     Derived class can override.
  8137.     Derived class can call base class behavior, during derived class behavior.
  8138.  
  8139. Basic operation
  8140. Adds the specified dispatch module as a monitor for the specified
  8141. event type.
  8142.  
  8143. Inputs
  8144. eventType
  8145.     An event code
  8146. dispatchModule
  8147.     A dispatch module for that event
  8148.  
  8149. Outputs
  8150. None
  8151.  
  8152. Exceptions Signalled
  8153. kODErrExistingDispatchModule
  8154.     module is already installed.
  8155. kODErrInvalidDispatchModule
  8156.     specified dispatch module is invalid.
  8157.  
  8158. Pre conditions
  8159. A valid initialize instance. A valid initialized dispatch module.
  8160.  
  8161. Post conditions
  8162. The dictionary contains the specified dispatch module as a monitor.
  8163.  
  8164. æKY ODDispatcher::Dispatch
  8165. Dispatcher::Dispatch
  8166. Dispatcher->Dispatch
  8167. æT Class Method
  8168. æD ODBoolean Dispatch(
  8169. ODEventData event);
  8170.  
  8171. æC Protection
  8172.     Public.  Called by the OpenDoc shell application, or by container applications.
  8173. May be called by Parts handling events in dialogs.
  8174.  
  8175. Override policy
  8176.     Derived class can override.
  8177.     Derived class can call base class behavior, during derived class behavior.
  8178.  
  8179. Basic operation
  8180. Dispatches the event to the appropriate part. Returns kODFalse if the
  8181. event does not belong to any part, or if Part::HandleEvent returns
  8182. kODFalse indicating that the event was not handled.
  8183.  
  8184. Inputs
  8185. event
  8186.     A platform-dependent event structure
  8187.  
  8188. Outputs
  8189. <return>
  8190.     kODTrue if the event was handled, kODFalse otherwise.
  8191.  
  8192. Exceptions Signalled
  8193. None.
  8194.  
  8195. Pre conditions
  8196. A valid initialized instance.
  8197.  
  8198. Post conditions
  8199. Result contains kODTrue if any part handled the event, kODFalse
  8200. otherwise.
  8201.  
  8202. æKY ODDispatcher::Exit
  8203. Dispatcher::Exit
  8204. Dispatcher->Exit
  8205. æT Class Method
  8206. æD void Exit();
  8207.  
  8208. æC Protection
  8209.     Public.  Can be called as a signal to the shell application to close down its
  8210. process. Use with care.
  8211.  
  8212. Override policy
  8213.     Derived class can override.
  8214.     Derived class can call base class behavior, during derived class behavior.
  8215.  
  8216. Basic operation
  8217. Sets a Boolean flag in the dispatcher which the shell application can
  8218. access using ShouldExit()
  8219.  
  8220. Inputs
  8221. None.
  8222.  
  8223. Outputs
  8224. None.
  8225.  
  8226. Exceptions Signalled
  8227. None.
  8228.  
  8229. Pre conditions
  8230. A valid initialized instance.
  8231.  
  8232. Post conditions
  8233. fExit contains the value kODTrue.
  8234.  
  8235. æKY ODDispatcher::GetDispatchModule
  8236. Dispatcher::GetDispatchModule
  8237. Dispatcher->GetDispatchModule
  8238. æT Class Method
  8239. æD ODDispatchModule GetDispatchModule(
  8240. in ODEventType eventType);
  8241.  
  8242. æC Protection
  8243.     Public.  Not called by most parts, or by container apps or shells.
  8244.  
  8245. Override policy
  8246.     Derived class can override.
  8247.     Derived class can call base class behavior, during derived class behavior.
  8248.  
  8249. Basic operation
  8250. Returns the dispatch module for the given event type. Will not be
  8251. called by most parts, but might be called in order to "patch" dispatch
  8252. modules by saving the existing one, and calling it from a new one.
  8253.  
  8254. Inputs
  8255. eventType
  8256.     An event code
  8257.  
  8258. Outputs
  8259. <return>
  8260.     The dispatch module for that event, or kODNULL
  8261.  
  8262. Exceptions Signalled
  8263. None.
  8264.  
  8265. Pre conditions
  8266. A valid initialize ODDispatcher instance.
  8267.  
  8268. Post conditions
  8269. The result contains the dispatch module, if any, for the specified
  8270. event, or kODNULL if none has been installed.
  8271.  
  8272. æKY ODDispatcher::GetMouseRegion
  8273. Dispatcher::GetMouseRegion
  8274. Dispatcher->GetMouseRegion
  8275. æT Class Method
  8276. æD ODRgnHandle GetMouseRegion();
  8277.  
  8278. æC Protection
  8279.     Public.  Call by the shell or container apps.
  8280.  
  8281. Override policy
  8282.     Derived class can override.
  8283.     Derived class can call base class behavior, during derived class behavior.
  8284.  
  8285. Basic operation
  8286. Returns the mouse region, which can be set by parts using
  8287. GetMouseRegion(). The mouse region is recomputed if necessary, by
  8288. calling Part::MouseEnter/MouseLeave/MouseWithin.
  8289.  
  8290. Inputs
  8291. None.
  8292.  
  8293. Outputs
  8294. None.
  8295.  
  8296. Exceptions Signalled
  8297. None.
  8298.  
  8299. Pre conditions
  8300. None.
  8301.  
  8302. Post conditions
  8303. Triggers a recomputation.
  8304.  
  8305. æKY ODDispatcher::GetSleepTime
  8306. Dispatcher::GetSleepTime
  8307. Dispatcher->GetSleepTime
  8308. æT Class Method
  8309. æD ODSLong GetSleepTime();
  8310.  
  8311. æC Protection
  8312.     Public.  Called by shells or container apps
  8313.  
  8314. Override policy
  8315.     Derived class can override.
  8316.     Derived class can call base class behavior, during derived class behavior.
  8317.  
  8318. Basic operation
  8319. Computes an amount of time the shell can "sleep" before it needs to
  8320. wake up to give idle time to registered frames. Called by the shell.
  8321. The value is passed to WaitNextEvent.
  8322.  
  8323. Inputs
  8324. None.
  8325.  
  8326. Outputs
  8327. <return>
  8328.     The computed sleep time
  8329.  
  8330. Exceptions Signalled
  8331. None.
  8332.  
  8333. Pre conditions
  8334. A valid initialize ODDispatcher instance.
  8335.  
  8336. Post conditions
  8337. The result contains the computed sleep time.
  8338.  
  8339. æKY ODDispatcher::InitDispatcher
  8340. Dispatcher::InitDispatcher
  8341. Dispatcher->InitDispatcher
  8342. æT Class Method
  8343. æD void InitDispatcher(
  8344. ODSession* session);
  8345.  
  8346. æC Protection
  8347.     Public.  The dispatcher is created by the OpenDoc session object. Parts do not
  8348. create dispatchers.
  8349.  
  8350. Override policy
  8351.     Derived class can override.
  8352.     Derived class can call base class behavior, during derived class behavior.
  8353.  
  8354. Basic operation
  8355. Performs initialization that could fail. Must be called before other
  8356. methods of this object are called.
  8357.  
  8358. Inputs
  8359. session
  8360.     The OpenDoc session object
  8361.  
  8362. Outputs
  8363. None.
  8364.  
  8365. Exceptions Signalled
  8366. kODErrOutOfMemory
  8367.     Out of memory
  8368.  
  8369. Pre conditions
  8370. None.
  8371.  
  8372. Post conditions
  8373. An initialize, usable dispatcher.
  8374.  
  8375. æKY ODDispatcher::InvalidateFacetUnderMouse
  8376. Dispatcher::InvalidateFacetUnderMouse
  8377. Dispatcher->InvalidateFacetUnderMouse
  8378. æT Class Method
  8379. æD void InvalidateFacetUnderMouse();
  8380.  
  8381. æC Protection
  8382.     Public.  Called by Imaging subsystem when a facet is removed.
  8383.  
  8384. Override policy
  8385.     Derived class can override.
  8386.     Derived class can call base class behavior, during derived class behavior.
  8387.  
  8388. Basic operation
  8389. Sets the dispatcher's cache of the facet under the mouse to kODNULL.
  8390.  
  8391. Inputs
  8392. None.
  8393.  
  8394. Outputs
  8395. None.
  8396.  
  8397. Exceptions Signalled
  8398. None.
  8399.  
  8400. Pre conditions
  8401. A valid initialized instance.
  8402.  
  8403. Post conditions
  8404. fFacetUnderMouse is kODNULL.
  8405.  
  8406. æKY ODDispatcher::Purge
  8407. Dispatcher::Purge
  8408. Dispatcher->Purge
  8409. æT Class Method
  8410. æD ODSize Purge(
  8411. ODSize size);
  8412.  
  8413. æC Protection
  8414.     Public.  Called by OpenDoc.
  8415.  
  8416. Override policy
  8417.     Derived class can override.
  8418.     Derived class can call base class behavior, during derived class behavior.
  8419.  
  8420. Basic operation
  8421. Tries to free up some memory, usually by flushing internal state to
  8422. external storage. 
  8423.  
  8424. Inputs
  8425. size
  8426.     The amount of memory requested.
  8427.  
  8428. Outputs
  8429. <return>
  8430.     The amount of memory freed.
  8431.  
  8432. Exceptions Signalled
  8433. None.
  8434.  
  8435. Pre conditions
  8436. A valid initialized instance
  8437.  
  8438. Post conditions
  8439. Some memory has been freed up.
  8440.  
  8441. æKY ODDispatcher::Redispatch
  8442. Dispatcher::Redispatch
  8443. Dispatcher->Redispatch
  8444. æT Class Method
  8445. æD ODBoolean Redispatch(
  8446. inout ODEventData event,
  8447. inoutODEventInfo eventInfo);
  8448.  
  8449. æC Protection
  8450.     Public.  Called by dispatch modules when they tranlate an event. For example,
  8451. when the standard dispatch module transoforms a mouse down in the menu
  8452. bar to a menu event.
  8453.  
  8454. Override policy
  8455.     Derived class can override.
  8456.     Derived class can call base class behavior, during derived class behavior.
  8457.  
  8458. Basic operation
  8459. Dispatches the event to the appropriate part. Returns kODFalse if the
  8460. event does not belong to any part, or if Part::HandleEvent returns
  8461. kODFalse indicating that the event was not handled.
  8462.  
  8463. Inputs
  8464. event
  8465.     A platform-dependent event structure
  8466. eventInfo
  8467.     Additional event information required for some events. See
  8468. ODEventInfo.
  8469.  
  8470. Outputs
  8471. <return>
  8472.     kODTrue if the event was handled, kODFalse otherwise.
  8473.  
  8474. Exceptions Signalled
  8475. None.
  8476.  
  8477. Pre conditions
  8478. A valid initialized instance.
  8479.  
  8480. Post conditions
  8481. Result contains kODTrue if any part handled the event, kODFalse
  8482. otherwise.
  8483.  
  8484. æKY ODDispatcher::RegisterIdle
  8485. Dispatcher::RegisterIdle
  8486. Dispatcher->RegisterIdle
  8487. æT Class Method
  8488. æD void RegisterIdle(
  8489. ODPart* part,
  8490. ODFrame* frame,
  8491. ODIdleFrequency frequency);
  8492.  
  8493. æC Protection
  8494.     Public.  
  8495.  
  8496. Override policy
  8497.     Derived class can override.
  8498.     Derived class can call base class behavior, during derived class behavior.
  8499.  
  8500. Basic operation
  8501. Registers the specified frame for idle time. The frame can be kODNULL,
  8502. in which case the part as a whole gets idle time.
  8503.  
  8504. Inputs
  8505. frame
  8506.     A frame which should receive idle messages.
  8507. frequency
  8508.     How often to send idle messages. 
  8509. part
  8510.     The part which is interested in idle time
  8511.  
  8512. Outputs
  8513. None.
  8514.  
  8515. Exceptions Signalled
  8516. kODErrInvalidFrame
  8517.     The specified frame is invalid
  8518.  
  8519. Pre conditions
  8520. A valid initialized instance.
  8521.  
  8522. Post conditions
  8523. The dispatcher contains the part/frame in its idle list.
  8524.  
  8525. æKY ODDispatcher::RemoveDispatchModule
  8526. Dispatcher::RemoveDispatchModule
  8527. Dispatcher->RemoveDispatchModule
  8528. æT Class Method
  8529. æD void RemoveDispatchModule(
  8530. ODEventType eventType);
  8531.  
  8532. æC Protection
  8533.     Public.  Not called by most parts.
  8534.  
  8535. Override policy
  8536.     Derived class can override.
  8537.     Derived class can call base class behavior, during derived class behavior.
  8538.  
  8539. Basic operation
  8540. Removes the  dispatch module for the specified event from the
  8541. dictionary.
  8542.  
  8543. Inputs
  8544. eventType
  8545.     an event type
  8546.  
  8547. Outputs
  8548. None.
  8549.  
  8550. Exceptions Signalled
  8551. None.
  8552.  
  8553. Pre conditions
  8554. A dispatch module is installed for the specified event type.
  8555.  
  8556. Post conditions
  8557. The specified event type no longer has its associated dispatch module.
  8558.  
  8559. æKY ODDispatcher::RemoveMonitor
  8560. Dispatcher::RemoveMonitor
  8561. Dispatcher->RemoveMonitor
  8562. æT Class Method
  8563. æD void RemoveMonitor(
  8564. ODEventType eventType,
  8565. ODDispatchModule* dispatchModule);
  8566.  
  8567. æC Protection
  8568.     Public.  Not called by most parts.
  8569.  
  8570. Override policy
  8571.     Derived class can override.
  8572.     Derived class can call base class behavior, during derived class behavior.
  8573.  
  8574. Basic operation
  8575. Removes the specified monitor for the specified event from the
  8576. dictionary.
  8577.  
  8578. Inputs
  8579. eventType
  8580.     an event code
  8581. dispatchModule
  8582.     A dispatchmodule which monitors the event type
  8583.  
  8584. Outputs
  8585. None.
  8586.  
  8587. Exceptions Signalled
  8588. None.
  8589.  
  8590. Pre conditions
  8591. The dispatch module is installed as a monitor  for the specified event
  8592. type.
  8593.  
  8594. Post conditions
  8595. The dispatch module is no longer  a monitor  for the specified event
  8596. type.
  8597.  
  8598. æKY ODDispatcher::SetIdleFrequency
  8599. Dispatcher::SetIdleFrequency
  8600. Dispatcher->SetIdleFrequency
  8601. æT Class Method
  8602. æD void SetIdleFrequency(
  8603. in ODPart part,
  8604. in ODFrame frame,
  8605. in ODIdleFrequency frequency);
  8606.  
  8607. æC Protection
  8608.     Public.  
  8609.  
  8610. Override policy
  8611.     Derived class can override.
  8612.     Derived class can call base class behavior, during derived class behavior.
  8613.  
  8614. Basic operation
  8615. Sets the idle frequency of the specified part or part/frame. The idle
  8616. frequency is usually specified when the frame/part is registered for
  8617. idle time, but this method can be used to adjust it later.
  8618.  
  8619. Inputs
  8620. frame
  8621.     A frame which should receive idle messages (null events). Can be
  8622. kODNULL.
  8623. part
  8624.     The part which should receive null (idle) events
  8625. frequency
  8626.     A new idle frequency, in ticks (60ths of a second)
  8627.  
  8628. Outputs
  8629. None.
  8630.  
  8631. Exceptions Signalled
  8632. None.
  8633.  
  8634. Pre conditions
  8635. A valid initialized  dispatcher instance.
  8636.  
  8637. Post conditions
  8638. The part or part/frame pair now idles at a different frequency
  8639.  
  8640. æKY ODDispatcher::SetMouseRegion
  8641. Dispatcher::SetMouseRegion
  8642. Dispatcher->SetMouseRegion
  8643. æT Class Method
  8644. æD void SetMouseRegion(
  8645. ODRgnHandle area);
  8646.  
  8647. æC Protection
  8648.     Public.  
  8649.  
  8650. Override policy
  8651.     Derived class can override.
  8652.     Derived class can call base class behavior, during derived class behavior.
  8653.  
  8654. Basic operation
  8655. Sets the mouse region, which can be queried by the shell application
  8656. using GetMouseRegion(). 
  8657.  
  8658. Inputs
  8659. area
  8660.     the new mouse region
  8661.  
  8662. Outputs
  8663. None.
  8664.  
  8665. Exceptions Signalled
  8666. None.
  8667.  
  8668. Pre conditions
  8669. A valid shape.
  8670.  
  8671. Post conditions
  8672. Stored value is updated.
  8673.  
  8674. æKY ODDispatcher::ShouldExit
  8675. Dispatcher::ShouldExit
  8676. Dispatcher->ShouldExit
  8677. æT Class Method
  8678. æD ODBoolean ShouldExit();
  8679.  
  8680. æC Protection
  8681.     Public.  Generally called by the OpenDoc shell application to see if the
  8682. dispatcher recommends the event loop be terminated.
  8683.  
  8684. Override policy
  8685.     Derived class can override.
  8686.     Derived class can call base class behavior, during derived class behavior.
  8687.  
  8688. Basic operation
  8689. Returns a Boolean value indicating  whether the OpenDoc shell
  8690. application  should terminate.
  8691.  
  8692. Inputs
  8693. None.
  8694.  
  8695. Outputs
  8696. <return>
  8697.     The value of fTerminateEventLoop
  8698.  
  8699. Exceptions Signalled
  8700. None.
  8701.  
  8702. Pre conditions
  8703. A valid and initialized instance.
  8704.  
  8705. Post conditions
  8706. Result contains the value of fExit.
  8707.  
  8708. æKY ODDispatcher::UnregisterIdle
  8709. Dispatcher::UnregisterIdle
  8710. Dispatcher->UnregisterIdle
  8711. æT Class Method
  8712. æD void UnregisterIdleFrame(
  8713. ODPart* part,
  8714. ODFrame* frame);
  8715.  
  8716. æC Protection
  8717.     Public.  
  8718.  
  8719. Override policy
  8720.     Derived class can override.
  8721.     Derived class can call base class behavior, during derived class behavior.
  8722.  
  8723. Basic operation
  8724. Removes the specified part/frame from the collection of parts
  8725. interested in receiving idle messages.
  8726.  
  8727. Inputs
  8728. frame
  8729.     A frame which should no longer receive idle messages.
  8730. part
  8731.     The part which was receiving idle events
  8732.  
  8733. Outputs
  8734. None.
  8735.  
  8736. Exceptions Signalled
  8737. kODErrInvalidFrame
  8738.     The specified frame is invalid
  8739.  
  8740. Pre conditions
  8741. A valid initialized instance.
  8742.  
  8743. Post conditions
  8744. The dispatcher does not contain the part/frame in its idle list.
  8745.  
  8746. æKY ODDispatcher::Yield
  8747. Dispatcher::Yield
  8748. Dispatcher->Yield
  8749. æT Class Method
  8750. æD void Yield(
  8751. ODFrame* frame);
  8752.  
  8753. æC Protection
  8754.     Public.  Called by parts during a long-running operation.
  8755.  
  8756. Override policy
  8757.     Derived class can override.
  8758.     Derived class can call base class behavior, during derived class behavior.
  8759.  
  8760. Basic operation
  8761. Gives processor time to other parts.
  8762.  
  8763. Inputs
  8764. frame
  8765.     The frame which is yielding
  8766.  
  8767. Outputs
  8768. None.
  8769.  
  8770. Exceptions Signalled
  8771. None.
  8772.  
  8773. Pre conditions
  8774. A valid initialized instance.
  8775.  
  8776. Post conditions
  8777. No effect on internal state.
  8778.  
  8779. æKY ODDispatcher::fExit
  8780. Dispatcher::fExit
  8781. æT Class Field
  8782. æD ODBoolean fExit;
  8783. æC 
  8784. æKY ODDispatcher::fFacetUnderMouse
  8785. Dispatcher::fFacetUnderMouse
  8786. æT Class Field
  8787. æD ODFacet* fFacetUnderMouse;
  8788. æC 
  8789. æKY ODDispatcher::fIdleList
  8790. Dispatcher::fIdleList
  8791. æT Class Field
  8792. æD IdleList* fIdleList;    
  8793. æC 
  8794. æKY ODDispatcher::fMouseRegion
  8795. Dispatcher::fMouseRegion
  8796. æT Class Field
  8797. æD RgnHandle fMouseRegion;
  8798. æC 
  8799. æKY ODDispatcher::fPartMouseRegion
  8800. Dispatcher::fPartMouseRegion
  8801. æT Class Field
  8802. æD RgnHandle fMouseRegion;
  8803. æC 
  8804. æKY ODDispatcher::fSession
  8805. Dispatcher::fSession
  8806. æT Class Field
  8807. æD ODSession* fSession
  8808. æC 
  8809.  
  8810. æKY ODDispatchModuleHelp
  8811. ODDispatchModule
  8812. DispatchModule
  8813. æKL ODDispatchModule::ODDispatchModule
  8814. ODDispatchModule::~ODDispatchModule
  8815. ODDispatchModule::Dispatch
  8816. ODDispatchModule::InitDispatchModule
  8817. ODDispatchModule::fSession
  8818. æC Basic Class Documentation
  8819. ODDispatchModule is an abstract class. The dispatcher can be extended
  8820. by adding subclasses of ODDispatchModule. 
  8821. Related classes are ODDispatcher and ODStandardDispatchModule, which
  8822. is private to part developers.
  8823. ODDispatchModule has no base class. 
  8824.  
  8825. Theory of Operation
  8826. See ODDispatcher
  8827.  
  8828. Invariants Maintained by Class
  8829. The field fSession points to the global system interface.
  8830. æKY ODDispatchModule::ODDispatchModule
  8831. DispatchModule::ODDispatchModule
  8832. DispatchModule->ODDispatchModule
  8833. æT Class Method
  8834. æD ODDispatchModule();
  8835.  
  8836. æC Protection
  8837.     Public.  
  8838.  
  8839. Override policy
  8840.     Derived class cannot override.
  8841.     Derived class cannot call base class behavior, during derived class behavior.
  8842.  
  8843. Basic operation
  8844. Constructs a dispatch module. InitDispatchModule must be called.
  8845.  
  8846. Inputs
  8847. None.
  8848.  
  8849. Outputs
  8850. None.
  8851.  
  8852. Exceptions Signalled
  8853. None.
  8854.  
  8855. Pre conditions
  8856. None.
  8857.  
  8858. Post conditions
  8859. A constructed dispatch module. Not yet usable - InitDispatchModule
  8860. must be called.
  8861.  
  8862. æKY ODDispatchModule::~ODDispatchModule
  8863. DispatchModule::~ODDispatchModule
  8864. DispatchModule->~ODDispatchModule
  8865. æT Class Method
  8866. æD ~ODDispatchModule();
  8867.  
  8868. æC Protection
  8869.     Public.  
  8870.  
  8871. Override policy
  8872.     Derived class cannot override.
  8873.     Derived class cannot call base class behavior, during derived class behavior.
  8874.  
  8875. Basic operation
  8876. Frees the memory allocated by this object
  8877.  
  8878. Inputs
  8879. None.
  8880.  
  8881. Outputs
  8882. None.
  8883.  
  8884. Exceptions Signalled
  8885. None.
  8886.  
  8887. Pre conditions
  8888. None.
  8889.  
  8890. Post conditions
  8891. It's gone.
  8892.  
  8893. æKY ODDispatchModule::Dispatch
  8894. DispatchModule::Dispatch
  8895. DispatchModule->Dispatch
  8896. æT Class Method
  8897. æD ODBoolean Dispatch(
  8898. inout
  8899. ODEventData event,
  8900. inout ODEventInfo eventInfo);
  8901.  
  8902. æC Protection
  8903.     Public.  Called by the dispatcher after it has located this module in its
  8904. table.
  8905.  
  8906. Override policy
  8907.     Derived class must override.
  8908.     Derived class can call base class behavior, during derived class behavior.
  8909.  
  8910. Basic operation
  8911. Classifies the event and dispatches it to the appropriate part.
  8912.  
  8913. Inputs
  8914. event
  8915.     A platform-specific event data structure
  8916. eventInfo
  8917.     Additional information required by some events. Includes an ODPoint in
  8918. local coordinates, and an embedded frame and facet. See ODEventInfo.
  8919.  
  8920. Outputs
  8921. <return>
  8922.     kODTrue if the event was handled by a part, kODFalse otherwise.
  8923.  
  8924. Exceptions Signalled
  8925. None.
  8926.  
  8927. Pre conditions
  8928. A valid event.
  8929.  
  8930. Post conditions
  8931. The event is dispatched.
  8932.  
  8933. æKY ODDispatchModule::InitDispatchModule
  8934. DispatchModule::InitDispatchModule
  8935. DispatchModule->InitDispatchModule
  8936. æT Class Method
  8937. æD void InitDispatchModule(
  8938. ODSession* session);
  8939.  
  8940. æC Protection
  8941.     Public.  Called only by concrete derived class's Init method.
  8942.  
  8943. Override policy
  8944.     Derived class cannot override.
  8945.     Derived class cannot call base class behavior, during derived class behavior.
  8946.  
  8947. Basic operation
  8948. Saves the session reference
  8949.  
  8950. Inputs
  8951. None.
  8952.  
  8953. Outputs
  8954. None.
  8955.  
  8956. Exceptions Signalled
  8957. None.
  8958.  
  8959. Pre conditions
  8960. None.
  8961.  
  8962. Post conditions
  8963. Instance is usable.
  8964.  
  8965. æKY ODDispatchModule::fSession
  8966. DispatchModule::fSession
  8967. æT Class Field
  8968. æD ODSession* fSession;
  8969. æC 
  8970.  
  8971. æKY ODDocumentHelp
  8972. ODDocument
  8973. Document
  8974. æKL ODDocument::ODDocument
  8975. ODDocument::~ODDocument
  8976. ODDocument::CollapseDrafts
  8977. ODDocument::CreateDraft
  8978. ODDocument::Exists
  8979. ODDocument::GetBaseDraft
  8980. ODDocument::GetContainer
  8981. ODDocument::GetDocumentProperties
  8982. ODDocument::GetDraft
  8983. ODDocument::GetID
  8984. ODDocument::GetName
  8985. ODDocument::IncrementRefCount
  8986. ODDocument::InitDocument
  8987. ODDocument::Purge
  8988. ODDocument::Release
  8989. ODDocument::ReleaseDraft
  8990. ODDocument::SaveToAPrevDraft
  8991. ODDocument::SetBaseDraftFromForeignDraft
  8992. ODDocument::SetName
  8993. ODDocument::fContainer
  8994. ODDocument::fDrafts
  8995. ODDocument::fID
  8996. æC Basic Class Documentation
  8997. A Container contains one or more Document. Each Document has a unique
  8998. ODDocumentID within a Container. Each of these Docment contains one or
  8999. more Draft. Each of these Drafts corresponds to a version of the
  9000. Document. In other words, a Document is a collection of versioned
  9001. Drafts. A ODDocument object is used to manipulate a Document and its
  9002. Drafts.
  9003. The class documented here is a abstract base class. Container Suite
  9004. implementors should subclass this class to provide the functionality
  9005. of a OpenDoc Document for their Container Suite. (For definition of
  9006. Container Suite, please refer to documentation on ODContainer).
  9007. Every OpenDoc Document by default has a base Draft.
  9008.  
  9009. Theory of Operation
  9010. ODDocument is derived from ODRefCntObject. A ODDocument object is
  9011. instantiated when GetDocument of its corresponding ODContainer. When
  9012. ODDocument is first constructed, its refCount is 1. Every time
  9013. ODContainer::GetDocument is called using the same id, the refCount of
  9014. the ODDocument object is incremented by 1. When ODDocument object is
  9015. no longer needed, ODDocument::Release should be called.   
  9016. The ODDocument object is responsible for guaranteeing that there is
  9017. only one ODDraft object
  9018. associated with each Draft within it.
  9019.  
  9020. ODDocument is only instantiated by ODContainer of the same Container
  9021. Suite. If the Shell or the Container App wants to create or get a
  9022. Document, it has to call ODContainer::GetDocument.
  9023.  
  9024. Invariants Maintained by Class
  9025. There is at most one ODDraft object for every  ODDraftID requested via
  9026. GetDraft or CreateDraft.
  9027. Until a requested ODDraft has been Released, the ODDraft object will
  9028. be valid. After a requested draft has been Released, the ODDraft
  9029. object which referred to that draft is not guaranteed to be valid.
  9030. It is the responsibility of ODDocument to maintain these invariants,
  9031. not ODDraft, since ODDocument maintains the collection of ODDrafts.
  9032.  
  9033. Other Persistent Properties
  9034. A ODDocument must have a ODContainer object associated with it.
  9035. Every Document (hence ODDocument object) within a Container must have
  9036. a unique ODDocumentID.
  9037. Every Document can have at most one name.
  9038. Drafts are linearly derived in a Document. The top Draft is the only
  9039. Draft that can be modified. All the Drafts below the top Draft are
  9040. read-only.
  9041. æKY ODDocument::ODDocument
  9042. Document::ODDocument
  9043. Document->ODDocument
  9044. æT Class Method
  9045. æD ODDocument();
  9046.  
  9047. æC Protection
  9048.     Public.  Private within Storage Subsystem. This method should only be called by
  9049. ODContainer::GetDocument.
  9050.  
  9051. Override policy
  9052.     Derived class can override.
  9053.     Derived class must call base class behavior, before derived class behavior.
  9054.  
  9055. Basic operation
  9056. Creates an uninitialized ODDocument object.
  9057.  
  9058. Inputs
  9059. None.
  9060.  
  9061. Outputs
  9062. <return>
  9063.     A valid ODDocument object.
  9064.  
  9065. Exceptions Signalled
  9066. None.
  9067.  
  9068. Pre conditions
  9069. None.
  9070.  
  9071. Post conditions
  9072. None.
  9073.  
  9074. æKY ODDocument::~ODDocument
  9075. Document::~ODDocument
  9076. Document->~ODDocument
  9077. æT Class Method
  9078. æD ~ODDocument();
  9079.  
  9080. æC Protection
  9081.     Public.  Private within Storage Subsystem. This method should only be called by
  9082. ODContainer::ReleaseDocument.
  9083.  
  9084. Override policy
  9085.     Derived class can override.
  9086.     Derived class must call base class behavior, before derived class behavior.
  9087.  
  9088. Basic operation
  9089. This is the destructor of the ODDocument class object. It releases all
  9090. the memory associated with this ODDocument class object.
  9091.  
  9092. Inputs
  9093. None.
  9094.  
  9095. Outputs
  9096. None.
  9097.  
  9098. Exceptions Signalled
  9099. None.
  9100.  
  9101. Pre conditions
  9102. this is a valid ODDocument object.
  9103.  
  9104. Post conditions
  9105. this is no longer a valid ODDocument object.
  9106.  
  9107. æKY ODDocument::CollapseDrafts
  9108. Document::CollapseDrafts
  9109. Document->CollapseDrafts
  9110. æT Class Method
  9111. æD ODDocument* CollapseDrafts(
  9112. ODDraft* from,
  9113. ODDraft* to);
  9114.  
  9115. æC Protection
  9116.     Public.  
  9117.  
  9118. Override policy
  9119.     Derived class must override.
  9120.     Derived class cannot call base class behavior, after derived class behavior.
  9121.  
  9122. Basic operation
  9123. Removes all the drafts between from (inclusive) and to (exclusive).
  9124. All the Drafts between from (inclusive) and to (exclusive) must be
  9125. empty.
  9126. This call is used for getting rid of unnecessary Drafts.
  9127.  
  9128. Inputs
  9129. from
  9130.     Draft to collapse from
  9131. to
  9132.     Draft to collapse to
  9133.  
  9134. Outputs
  9135. <return>
  9136.     this ODDocument object
  9137.  
  9138. Exceptions Signalled
  9139. kODErrNonEmptyDraft
  9140.     Non-empty draft between from and to.
  9141. kODErrCannotCollapseDrafts
  9142.     from is not above to.
  9143. kODErrOutstandingDraft
  9144.     There is one or more outstanding Draft (i.e., refCount >= 1) between
  9145. from and to. 
  9146.  
  9147. Pre conditions
  9148. The drafts between from (inclusive) and to (exclusive) are 'empty'.
  9149. There is no outstanding Draft (i.e., with refCount >= 1) between from
  9150. (exclusive) and to (exclusive).
  9151. from must have a refCount of 1.
  9152. from must not be the base Draft.
  9153. from must be above to in the Draft topology.
  9154.  
  9155. Post conditions
  9156. The drafts between from (inclusive) and to (exclusive) have been
  9157. removed and the appropriate draft topology is maintained.
  9158. from is no longer a valid ODDraft object.
  9159.  
  9160. æKY ODDocument::CreateDraft
  9161. Document::CreateDraft
  9162. Document->CreateDraft
  9163. æT Class Method
  9164. æD ODDraft* CreateDraft(
  9165. ODDraft* below,
  9166. ODBoolean releaseBelow);
  9167.  
  9168. æC Protection
  9169.     Public.  
  9170.  
  9171. Override policy
  9172.     Derived class must override.
  9173.     Derived class cannot call base class behavior, before derived class behavior.
  9174.  
  9175. Basic operation
  9176. Creates a new Draft on top of below and returns a ODDraft object
  9177. referring to the created Draft.
  9178. If releaseBelow is kODTrue, the below draft is released.
  9179. If this container does not support creation of drafts (e.g. a
  9180. read-only medium like a CD-ROM), an exception is raised.
  9181.  
  9182. Inputs
  9183. below
  9184.     The draft on which the new draft is to be created.
  9185. releaseBelow
  9186.     Boolean to show whether or not the below draft should be released.
  9187.  
  9188. Outputs
  9189. <return>
  9190.     a fully functional ODDraft object with Exclusive-Write permissions.
  9191.  
  9192. Exceptions Signalled
  9193. kODErrInvalidContainer
  9194.     Container does not support creation of new drafts.
  9195. kODErrInvalidBelowDraft
  9196.     below is kODNULL  or below is not the Top Draft of the Document.
  9197. kODErrInvalidPermissions
  9198.     Exclusive-Write-Only below is not released.
  9199.  
  9200. Pre conditions
  9201. below is the Top Draft of the Document.
  9202. If below is Exclusive-Write-only, releaseBelow must be kODTrue.
  9203.  
  9204. Post conditions
  9205. None.
  9206.  
  9207. æKY ODDocument::Exists
  9208. Document::Exists
  9209. Document->Exists
  9210. æT Class Method
  9211. æD ODBoolean  Exists(
  9212. in ODDraftID id,
  9213. in    ODDraft draft,
  9214. in    ODPositionCode posCode);
  9215.  
  9216. æC Protection
  9217.     Public.  
  9218.  
  9219. Override policy
  9220.     Derived class can override.
  9221.     Derived class can call base class behavior, during derived class behavior.
  9222.  
  9223. Basic operation
  9224. Returns kODTrue if the specified Draft exists. Otherwise, returns
  9225. kODFalse.
  9226. If id is not 0, it is used to identify the Draft and the draft and
  9227. posCode parameters are ignored.
  9228. If id is 0, draft and posCode are used to identify the desired draft.
  9229.  
  9230. Inputs
  9231. id
  9232.     draft id
  9233. draft
  9234.     ODDraft object used together with posCode to identify the desired
  9235. Draft.
  9236. posCode
  9237.     relative position (used together with draft) to identify the desired
  9238. Draft. 
  9239.  
  9240. Outputs
  9241. <return>
  9242.     a fully functional ODDraft object
  9243.  
  9244. Exceptions Signalled
  9245. kODInvalidPermissions
  9246.     Invalid permissions.
  9247. kODErrInvalidRefCount
  9248.     draft does not have a valid refCount.
  9249. kODErrCannotChangePermissions
  9250.     Cannot change permission on draft if it is gotten again with a
  9251. different permissions.
  9252. kODErrInvalidPosCode
  9253.     Invalid relative position.
  9254.  
  9255. Pre conditions
  9256. None.
  9257.  
  9258. Post conditions
  9259. None.
  9260.  
  9261. æKY ODDocument::GetBaseDraft
  9262. Document::GetBaseDraft
  9263. Document->GetBaseDraft
  9264. æT Class Method
  9265. æD ODDraft* GetBaseDraft(
  9266. ODDraftPermissions perms);
  9267.  
  9268. æC Protection
  9269.     Public.  
  9270.  
  9271. Override policy
  9272.     Derived class must override.
  9273.     Derived class cannot call base class behavior, during derived class behavior.
  9274.  
  9275. Basic operation
  9276. Returns an ODDraft object which refers to the base draft of the
  9277. document with the given perms.
  9278.  
  9279. Inputs
  9280. perms
  9281.     permissions
  9282.  
  9283. Outputs
  9284. <return>
  9285.     ODDraft object which refers to the base draft of this document
  9286.  
  9287. Exceptions Signalled
  9288. kODErrInvalidPermissions
  9289.     Invalid permissions.
  9290.  
  9291. Pre conditions
  9292. perms can be Read-Only if the Draft has not been gotten for Exclusive
  9293. -Write-only.
  9294. perms can be Exclusive-Write-only if the Draft has not been gotten
  9295. (i.e., there is no valid ODDraft object referring to the desired
  9296. Draft) and the Base Draft is the top Draft in the Document.
  9297. perms can be Shared-Write if the Draft has not been gotten for
  9298. Read-Only or Exclusive-Write-Only and the Base Draft is the top Draft
  9299. of the Document.
  9300.  
  9301. Post conditions
  9302. None.
  9303.  
  9304. æKY ODDocument::GetContainer
  9305. Document::GetContainer
  9306. Document->GetContainer
  9307. æT Class Method
  9308. æD ODContainer* GetContainer();
  9309.  
  9310. æC Protection
  9311.     Public.  
  9312.  
  9313. Override policy
  9314.     Derived class must override.
  9315.     Derived class cannot call base class behavior, during derived class behavior.
  9316.  
  9317. Basic operation
  9318. Returns the ODContainer object with which this ODDocument object is
  9319. associated.
  9320.  
  9321. Inputs
  9322. none
  9323.  
  9324. Outputs
  9325. <return>
  9326.     fContainer
  9327.  
  9328. Exceptions Signalled
  9329. None.
  9330.  
  9331. Pre conditions
  9332. None.
  9333.  
  9334. Post conditions
  9335. None.
  9336.  
  9337. æKY ODDocument::GetDocumentProperties
  9338. Document::GetDocumentProperties
  9339. Document->GetDocumentProperties
  9340. æT Class Method
  9341. æD ODStorageUnit*    GetDocumentProperties();
  9342.  
  9343. æC Protection
  9344.     Public.  
  9345.  
  9346. Override policy
  9347.     Derived class must override.
  9348.     Derived class cannot call base class behavior, during derived class behavior.
  9349.  
  9350. Basic operation
  9351. Returns a ODStorageUnit object where meta-information on this Document
  9352. can be stored. Note that the client has to call ODStorageUnit::Release
  9353. when the ODStorageUnit is not needed anymore.
  9354.  
  9355. Inputs
  9356. None.
  9357.  
  9358. Outputs
  9359. <return>
  9360.     ODStorageUnit object where meta-information on this Document is
  9361. stored.
  9362.  
  9363. Exceptions Signalled
  9364. kODErrNoDocumentProperties
  9365.     Cannot create ODStorageUnit for Document Properties.
  9366.  
  9367. Pre conditions
  9368. None.
  9369.  
  9370. Post conditions
  9371. None.
  9372.  
  9373. æKY ODDocument::GetDraft
  9374. Document::GetDraft
  9375. Document->GetDraft
  9376. æT Class Method
  9377. æD ODDraft* GetDraft(
  9378. ODDraftPermissions perms,
  9379. ODDraftID id,
  9380. ODDraft* draft,
  9381. ODPositionCode posCode,
  9382. ODBoolean release);
  9383.  
  9384. æC Protection
  9385.     Public.  
  9386.  
  9387. Override policy
  9388.     Derived class must override.
  9389.     Derived class cannot call base class behavior, during derived class behavior.
  9390.  
  9391. Basic operation
  9392. If id is not 0, it is used to identify the Draft and the draft and
  9393. posCode parameters are ignored.
  9394. If id is 0, draft and posCode are used to identify the desired draft.
  9395. Once the draft is identified, a ODDraft object referring to the
  9396. desired draft is created and returned with the given permissions.
  9397. The release parameter is only used if draft and posCode are used to
  9398. identify the Draft. In this case, if release is kODTrue, draft is
  9399. released if the desired draft can be gotten.
  9400. It is valid to get the same Draft using draft and kODPosSame. In this
  9401. case, the Draft is gotten again with the appropriate permissions. This
  9402. provides an easy way to change the permissions for a ODDraft.
  9403.  
  9404. Inputs
  9405. perms
  9406.     permissions
  9407. id
  9408.     draft id
  9409. draft
  9410.     ODDraft object used together with posCode to identify the desired
  9411. Draft.
  9412. posCode
  9413.     relative position (used together with draft) to identify the desired
  9414. Draft. 
  9415. release
  9416.     ODBoolean to show whether draft should be released when getting the
  9417. desired one. (Only used when relative positioning is done).
  9418.  
  9419. Outputs
  9420. <return>
  9421.     a fully functional ODDraft object
  9422.  
  9423. Exceptions Signalled
  9424. kODInvalidPermissions
  9425.     Invalid permissions.
  9426. kODErrInvalidRefCount
  9427.     draft does not have a valid refCount.
  9428. kODErrCannotChangePermissions
  9429.     Cannot change permission on draft if it is gotten again with a
  9430. different permissions.
  9431. kODErrInvalidPosCode
  9432.     Invalid relative position.
  9433.  
  9434. Pre conditions
  9435. Either id refers to a valid Draft in this Document or draft and
  9436. posCode together refer to a valid Draft in this Document.
  9437. perms can be Read-Only if the Draft has not been gotten for Exclusive
  9438. -Write-only.
  9439. perms can be Exclusive-Write-only if the Draft has not been gotten
  9440. (i.e., there is no valid ODDraft object referring to the desired
  9441. Draft) and the Draft is the top Draft of the Document.
  9442. perms can be Shared-Write if the Draft has not been gotten for
  9443. Read-Only or Exclusive-Write-Only and the Draft is the top Draft of
  9444. the Document.
  9445.  
  9446. Post conditions
  9447. The specified draft, opened with the given perms is returned.
  9448. If release is kODTrue and the draft is a valid ODDraft object
  9449. referring to a draft in the same document, it should be released.
  9450.  
  9451. æKY ODDocument::GetID
  9452. Document::GetID
  9453. Document->GetID
  9454. æT Class Method
  9455. æD ODDocumentID GetID();
  9456.  
  9457. æC Protection
  9458.     Public.  
  9459.  
  9460. Override policy
  9461.     Derived class must override.
  9462.     Derived class cannot call base class behavior, during derived class behavior.
  9463.  
  9464. Basic operation
  9465. Returns the ID of the document referred to by this ODDocument object.
  9466. The returned ID should be the one used for getting this object in
  9467. ODContainer::GetDocument.
  9468.  
  9469. Inputs
  9470. none
  9471.  
  9472. Outputs
  9473. <return>
  9474.     ID of the Document.
  9475.  
  9476. Exceptions Signalled
  9477. None.
  9478.  
  9479. Pre conditions
  9480. None.
  9481.  
  9482. Post conditions
  9483. None.
  9484.  
  9485. æKY ODDocument::GetName
  9486. Document::GetName
  9487. Document->GetName
  9488. æT Class Method
  9489. æD ODDocumentName* GetName();
  9490.  
  9491. æC Protection
  9492.     Public.  A Part can call this method, but it should not need to deal with the
  9493. name of the Document directly.
  9494.  
  9495. Override policy
  9496.     Derived class must override.
  9497.     Derived class cannot call base class behavior, before derived class behavior.
  9498.  
  9499. Basic operation
  9500. Returns a copy of the name of this Document. If this Document does not
  9501. have a name, kODNULL is returned.
  9502.  
  9503. Inputs
  9504. none
  9505.  
  9506. Outputs
  9507. <return>
  9508.      Name of the Document. kODNULL if the Document does not have any name.
  9509.  
  9510. Exceptions Signalled
  9511. None.
  9512.  
  9513. Pre conditions
  9514. None.
  9515.  
  9516. Post conditions
  9517. None.
  9518.  
  9519. æKY ODDocument::IncrementRefCount
  9520. Document::IncrementRefCount
  9521. Document->IncrementRefCount
  9522. æT Class Method
  9523. æD void IncrementRefCount();
  9524.  
  9525. æC Protection
  9526.     Public.  
  9527.  
  9528. Override policy
  9529.     Derived class must override.
  9530.     Derived class cannot call base class behavior, during derived class behavior.
  9531.  
  9532. Basic operation
  9533. Increments the reference count of this ODDocument object.
  9534.  
  9535. Inputs
  9536. none
  9537.  
  9538. Outputs
  9539. none
  9540.  
  9541. Exceptions Signalled
  9542. None.
  9543.  
  9544. Pre conditions
  9545. None.
  9546.  
  9547. Post conditions
  9548. Reference Count of this object is incremented by 1.
  9549.  
  9550. æKY ODDocument::InitDocument
  9551. Document::InitDocument
  9552. Document->InitDocument
  9553. æT Class Method
  9554. æD void InitDocument(
  9555. ODContainer* container,
  9556. ODDocumentID id);
  9557.  
  9558. æC Protection
  9559.     Public.  Private within Storage Subsystem. This method should only be called by
  9560. ODContainer::GetDocument.
  9561.  
  9562. Override policy
  9563.     Derived class can override.
  9564.     Derived class must call base class behavior, before derived class behavior.
  9565.  
  9566. Basic operation
  9567. Initializes this ODDocument object.
  9568.  
  9569. Inputs
  9570. container
  9571.     ODContainer object with which this ODDocument is associated.
  9572. id
  9573.     ID of the Document
  9574.  
  9575. Outputs
  9576. none
  9577.  
  9578. Exceptions Signalled
  9579. None.
  9580.  
  9581. Pre conditions
  9582. this is a valid ODDocument object.
  9583.  
  9584. Post conditions
  9585. this is an initialized ODDocument object.
  9586.  
  9587. æKY ODDocument::Purge
  9588. Document::Purge
  9589. Document->Purge
  9590. æT Class Method
  9591. æD ODSize Purge(
  9592. ODSize size);
  9593.  
  9594. æC Protection
  9595.     Public.  Private within Storage Subsystem. This method should only be called by
  9596. ODContainer::Purge.
  9597.  
  9598. Override policy
  9599.     Derived class cannot override.
  9600.     Derived class cannot call base class behavior, during derived class behavior.
  9601.  
  9602. Basic operation
  9603. Purge memory from ephemeral store until size bytes (not necessarily
  9604. contiguous) have been freed up.
  9605.  
  9606. Inputs
  9607. size
  9608.     the number of bytes to purge
  9609.  
  9610. Outputs
  9611. <return>
  9612.     the number of bytes actually purged
  9613.  
  9614. Exceptions Signalled
  9615. None.
  9616.  
  9617. Pre conditions
  9618. None.
  9619.  
  9620. Post conditions
  9621. Either size bytes (not necessarily contiguous) are free in the default
  9622. heap or  Purge() has been called on every ODDraft object associated
  9623. with this ODDocument object.
  9624.  
  9625. æKY ODDocument::Release
  9626. Document::Release
  9627. Document->Release
  9628. æT Class Method
  9629. æD void Release();
  9630.  
  9631. æC Protection
  9632.     Public.  
  9633.  
  9634. Override policy
  9635.     Derived class must override.
  9636.     Derived class must call base class behavior, after derived class behavior.
  9637.  
  9638. Basic operation
  9639. Releases this ODDocument object. If the reference count of this
  9640. ODDocument goes down to zero, this method should notify its
  9641. ODContainer object by calling ODContainer::ReleaseDocument.
  9642.  
  9643. Inputs
  9644. none
  9645.  
  9646. Outputs
  9647. None.
  9648.  
  9649. Exceptions Signalled
  9650. None.
  9651.  
  9652. Pre conditions
  9653. None.
  9654.  
  9655. Post conditions
  9656. this document is no longer guaranteed to be a valid ODDocument object
  9657.  
  9658. æKY ODDocument::ReleaseDraft
  9659. Document::ReleaseDraft
  9660. Document->ReleaseDraft
  9661. æT Class Method
  9662. æD ODDocument* ReleaseDraft(
  9663. ODDraft* draft);
  9664.  
  9665. æC Protection
  9666.     Public.  Private within Storage Subsystem. This method should only be called by
  9667. ODDraft::Release.
  9668.  
  9669. Override policy
  9670.     Derived class must override.
  9671.     Derived class cannot call base class behavior, after derived class behavior.
  9672.  
  9673. Basic operation
  9674. Releases the given ODDraft object.
  9675.  
  9676. Inputs
  9677. draft
  9678.     the draft to be released
  9679.  
  9680. Outputs
  9681. <return>
  9682.     this ODDocument object.
  9683.  
  9684. Exceptions Signalled
  9685. None.
  9686.  
  9687. Pre conditions
  9688. draft has a refCount of 0.
  9689.  
  9690. Post conditions
  9691. None.
  9692.  
  9693. æKY ODDocument::SaveToAPrevDraft
  9694. Document::SaveToAPrevDraft
  9695. Document->SaveToAPrevDraft
  9696. æT Class Method
  9697. æD void SaveToAPrevDraft(
  9698. ODDraft* from,
  9699. ODDraft* to);
  9700.  
  9701. æC Protection
  9702.     Public.  
  9703.  
  9704. Override policy
  9705.     Derived class must override.
  9706.     Derived class cannot call base class behavior, during derived class behavior.
  9707.  
  9708. Basic operation
  9709. Moves changes from the from draft to the to draft.  If to is kODNULL,
  9710. the changes are saved to the draft immediately below from. All the
  9711. Drafts from from (inclusive) to to Draft (exclusive) are empty after
  9712. this operation.
  9713. This method can be used together with CollapseDrafts to get rid of
  9714. unwanted Drafts.
  9715.  
  9716. Inputs
  9717. from
  9718.     draft to move changes from
  9719. to
  9720.     draft to move changes to
  9721.  
  9722. Outputs
  9723. none
  9724.  
  9725. Exceptions Signalled
  9726. kODErrInvalidDraft
  9727.     from is not above to.
  9728. kODErrOutstandingDraft
  9729.     There is one or more outstanding Draft between from (exclusive) and to
  9730. (exclusive).
  9731.  
  9732. Pre conditions
  9733. from Draft is above to Draft.
  9734. There is no outstanding Draft (i.e., refCount >= 1) between from
  9735. (exclusive) and to (exclusive).
  9736.  
  9737. Post conditions
  9738. The Drafts from from (inclusive) to to (exclusive) have had all their
  9739. 'changes' removed and all such changes have been incorporated into the
  9740. to Draft.  In other words, the Drafts from from (inclusive) to to
  9741. (exclusive) are 'empty'.
  9742.  
  9743. æKY ODDocument::SetBaseDraftFromForeignDraft
  9744. Document::SetBaseDraftFromForeignDraft
  9745. Document->SetBaseDraftFromForeignDraft
  9746. æT Class Method
  9747. æD void SetBaseDraftFromForeignDraft(
  9748. ODDraft* draft);
  9749.  
  9750. æC Protection
  9751.     Public.  
  9752.  
  9753. Override policy
  9754.     Derived class must override.
  9755.     Derived class cannot call base class behavior, during derived class behavior.
  9756.  
  9757. Basic operation
  9758. Takes a version from one Document and copies its content to set up a
  9759. new Document.
  9760.  
  9761. Inputs
  9762. draft
  9763.     draft to copy to base
  9764.  
  9765. Outputs
  9766. None.
  9767.  
  9768. Exceptions Signalled
  9769. None.
  9770.  
  9771. Pre conditions
  9772. draft is not from the same Document.
  9773. This Document is a newly created Document with only  an empty Base
  9774. Draft.
  9775.  
  9776. Post conditions
  9777. This Document's Base Draft contains the same data as draft.
  9778.  
  9779. æKY ODDocument::SetName
  9780. Document::SetName
  9781. Document->SetName
  9782. æT Class Method
  9783. æD void SetName(
  9784. ODDocumentName name);
  9785.  
  9786. æC Protection
  9787.     Public.  
  9788.  
  9789. Override policy
  9790.     Derived class must override.
  9791.     Derived class cannot call base class behavior, after derived class behavior.
  9792.  
  9793. Basic operation
  9794. Sets the name of this document.
  9795.  
  9796. Inputs
  9797. name
  9798.     New  name of this Document
  9799.  
  9800. Outputs
  9801. none
  9802.  
  9803. Exceptions Signalled
  9804. None.
  9805.  
  9806. Pre conditions
  9807. name is a valid ODDocumentName.
  9808.  
  9809. Post conditions
  9810. The name of the document is name.
  9811.  
  9812. æKY ODDocument::fContainer
  9813. Document::fContainer
  9814. æT Class Field
  9815. æD ODContainer*
  9816. æC Persistent form
  9817. None.
  9818.  
  9819. æKY ODDocument::fDrafts
  9820. Document::fDrafts
  9821. æT Class Field
  9822. æD ODDraftList*
  9823. æC Persistent form
  9824. None.
  9825.  
  9826. æKY ODDocument::fID
  9827. Document::fID
  9828. æT Class Field
  9829. æD ODDocumentID
  9830. æC 
  9831.  
  9832. æKY ODDraftHelp
  9833. ODDraft
  9834. Draft
  9835. æKL ODDraft::ODDraft
  9836. ODDraft::~ODDraft
  9837. ODDraft::AbortClone
  9838. ODDraft::BeginClone
  9839. ODDraft::ChangedFromPrev
  9840. ODDraft::Clone
  9841. ODDraft::CreateFrame
  9842. ODDraft::CreateLinkSource
  9843. ODDraft::CreateLinkSpec
  9844. ODDraft::CreatePart
  9845. ODDraft::CreateStorageUnit
  9846. ODDraft::EndClone
  9847. ODDraft::Externalize
  9848. ODDraft::GetDocument
  9849. ODDraft::GetDraftProperties
  9850. ODDraft::GetFrame
  9851. ODDraft::GetID
  9852. ODDraft::GetLink
  9853. ODDraft::GetLinkSource
  9854. ODDraft::GetName
  9855. ODDraft::GetPart
  9856. ODDraft::GetPermissions
  9857. ODDraft::GetPersistentObject
  9858. ODDraft::GetPersistentObjectID
  9859. ODDraft::GetStorageUnit
  9860. ODDraft::IncrementRefCount
  9861. ODDraft::InitDraft
  9862. ODDraft::IsValidID
  9863. ODDraft::Purge
  9864. ODDraft::Release
  9865. ODDraft::ReleaseFrame
  9866. ODDraft::ReleaseLink
  9867. ODDraft::ReleasePart
  9868. ODDraft::ReleaseStorageUnit
  9869. ODDraft::RemoveChanges
  9870. ODDraft::RemoveFrame
  9871. ODDraft::RemoveFromDocument
  9872. ODDraft::RemoveLink
  9873. ODDraft::RemoveLinkSource
  9874. ODDraft::RemovePart
  9875. ODDraft::RemoveStorageUnit
  9876. ODDraft::SaveToAPrevious
  9877. ODDraft::SetChangedFromPrev
  9878. ODDraft::SetName
  9879. ODDraft::WeakClone
  9880. ODDraft::fDocument
  9881. ODDraft::fFrames
  9882. ODDraft::fID
  9883. ODDraft::fLinks
  9884. ODDraft::fName
  9885. ODDraft::fParts
  9886. ODDraft::fPermissions
  9887. ODDraft::fStorageUnits
  9888. æC Basic Class Documentation
  9889. An OpenDoc Draft contains information pertaining to a particular
  9890. version of an OpenDoc Document.
  9891. ODDraft objects are instantiated by calling GetDraft or CreateDraft of
  9892. their ODDocument object.
  9893. The class documented here is a abstract base class. Container Suite
  9894. implementors should subclass this class to provide the functionality
  9895. of a OpenDoc Document for their Container Suite. (For definition of
  9896. Container Suite, please refer to documentation on ODContainer).
  9897.  
  9898. Draft Properties:
  9899. o  handler preferences (for workgroups)
  9900.   (type or category, handler)*
  9901. o  mod date
  9902.      dateType
  9903. o  create date
  9904.      dateType
  9905. o  user last modified by
  9906.      usernametype/TEXTstringtype
  9907. o  comments
  9908.      Part?
  9909. o  mailerInfo
  9910.     whater AOCE says
  9911. o  memory high water mark
  9912.     long
  9913. o  has been 'Save'd by user
  9914.     boolean
  9915.  
  9916. Theory of Operation
  9917. This class is derived from ODRefCntObject. A ODDraft object is
  9918. instantiated when CreateDraft or GetDraft is called on its
  9919. corresponding ODDocument. When ODDraft is first constructed, its
  9920. refCount is 1. Every time ODDocument::GetDraft is called on the same
  9921. Draft, the refCount of the ODDraft object is incremented by 1. When
  9922. ODDraft object is no longer needed, ODDraft::Release should be called.
  9923. The ODDraft object is responsible for guaranteeing that there is only
  9924. one ODStorageUnit object
  9925. associated with each Storage Unit or persistent object within it.
  9926. Access is guaranteed to be exclusive if the Draft has  just been
  9927. created (through CreateDraft) or if kDPExclusiveWrite permissions have
  9928. been requested and granted on GetDraft.
  9929. Access is not guaranteed to be exclusive if the Draft has been
  9930. 'gotten' with any other permissions.
  9931.  
  9932. ODDraft is only instantiated by ODDocument of the same Container
  9933. Suite. If the Shell wants to create or get a Draft, it should call
  9934. ODDocument::CreateDraft or ODDoucment::GetDraft. If the Base Draft is
  9935. needed, ODDocument::GetBaseDraft should be called.
  9936.  
  9937. Invariants Maintained by Class
  9938. There is at most one ODPersistentObject (or its derived object) for
  9939. every persistent object requested via Get/Create Part/Frame/Link.
  9940. Until a requested persistent object has been Released, the persistent
  9941. object will remain valid. After a requested ODPersistentObject has
  9942. been Released, the ODPersistentObject is no longer valid.
  9943. It is the responsibility of ODDraft to maintain these invariants, not
  9944. the  ODPersistentObjects or (their derived objects), since ODDraft
  9945. maintains the collection of  first class persistent objects.
  9946. There can only be one Clone (initiated by BeginClone and terminated by
  9947. AbortClone or EndClone) at a time.
  9948. A Draft can have at most one name.
  9949. æKY ODDraft::ODDraft
  9950. Draft::ODDraft
  9951. Draft->ODDraft
  9952. æT Class Method
  9953. æD ODDraft();
  9954.  
  9955. æC Protection
  9956.     Public.  Private within Storage System. This method should only be called by
  9957. ODDocument::CreateDraft or ODDocument::GetDraft.
  9958.  
  9959. Override policy
  9960.     Derived class must override.
  9961.     Derived class must call base class behavior.
  9962.  
  9963. Basic operation
  9964. This function is the constructor of the class.
  9965.  
  9966. Inputs
  9967. None.
  9968.  
  9969. Outputs
  9970. None.
  9971.  
  9972. Exceptions Signalled
  9973. None.
  9974.  
  9975. Pre conditions
  9976. None.
  9977.  
  9978. Post conditions
  9979. None.
  9980.  
  9981. æKY ODDraft::~ODDraft
  9982. Draft::~ODDraft
  9983. Draft->~ODDraft
  9984. æT Class Method
  9985. æD ~ODDraft();
  9986.  
  9987. æC Protection
  9988.     Public.  Private within Container Suite. This method should only be called by
  9989. ODDocument::ReleaseDraft.
  9990.  
  9991. Override policy
  9992.     Derived class must override.
  9993.     Derived class must call base class behavior.
  9994.  
  9995. Basic operation
  9996. This function is the destructor of the class.
  9997.  
  9998. Inputs
  9999. none
  10000.  
  10001. Outputs
  10002. none
  10003.  
  10004. Exceptions Signalled
  10005. None.
  10006.  
  10007. Pre conditions
  10008. None.
  10009.  
  10010. Post conditions
  10011. None.
  10012.  
  10013. æKY ODDraft::AbortClone
  10014. Draft::AbortClone
  10015. Draft->AbortClone
  10016. æT Class Method
  10017. æD void AbortClone(
  10018. ODDraftKey key);
  10019.  
  10020. æC Protection
  10021.     Public.  
  10022.  
  10023. Override policy
  10024.     Derived class must override.
  10025.     Derived class cannot call base class behavior.
  10026.  
  10027. Basic operation
  10028. Aborts the transacton started by BeginClone. When this method returns,
  10029. none of the ODStorageUnits in the source ODDraft should be copied to
  10030. the destination Draft.
  10031.  
  10032. Inputs
  10033. key
  10034.     ODDraftKey which identifies the transaction.
  10035.  
  10036. Outputs
  10037. None.
  10038.  
  10039. Exceptions Signalled
  10040. kODErrInvalidDraftKey
  10041.     Invalid Clone.
  10042.  
  10043. Pre conditions
  10044. None.
  10045.  
  10046. Post conditions
  10047. None.
  10048.  
  10049. æKY ODDraft::BeginClone
  10050. Draft::BeginClone
  10051. Draft->BeginClone
  10052. æT Class Method
  10053. æD ODDraftKey BeginClone(
  10054. ODDraft* destDraft,
  10055. ODFrame* destFrame,
  10056. ODCloneKind kind);
  10057.  
  10058. æC Protection
  10059.     Public.  
  10060.  
  10061. Override policy
  10062.     Derived class must override.
  10063.     Derived class cannot call base class behavior.
  10064.  
  10065. Basic operation
  10066. Begins a transaction on a data transfer between one ODDraft to
  10067. another. Any ODStorageUnit::CloneTo called between BeginClone and
  10068. EndClone is considered part of the transaction.
  10069. The returned ODDraftKey is used for CloneTo, EndClone and AbortClone
  10070. to ensure thread safety.
  10071.  
  10072. Inputs
  10073. kind
  10074.     The kind of clone operation being performed.
  10075. destDraft
  10076.     The draft being cloned into.
  10077. destFrame
  10078.     The frame being cloned into.  This parameter may be kODNULL if the
  10079. kind is not kODClonePaste or kODCloneDropMove. 
  10080.  
  10081. Outputs
  10082. <return>
  10083.     Key to ensure thread safety.
  10084.  
  10085. Exceptions Signalled
  10086. kODErrCloningInProgress
  10087.     Another Clone has started already.
  10088.  
  10089. Pre conditions
  10090. None.
  10091.  
  10092. Post conditions
  10093. None.
  10094.  
  10095. æKY ODDraft::ChangedFromPrev
  10096. Draft::ChangedFromPrev
  10097. Draft->ChangedFromPrev
  10098. æT Class Method
  10099. æD ODBoolean  ChangedFromPrev();
  10100.  
  10101. æC Protection
  10102.     Public.  
  10103.  
  10104. Override policy
  10105.     Derived class must override.
  10106.     Derived class cannot call base class behavior.
  10107.  
  10108. Basic operation
  10109. Indicate whether or not this Draft is 'empty', i.e. has any changes
  10110. been made between this Draft and the Draft immediately below this
  10111. Draft.
  10112.  
  10113. Inputs
  10114. none
  10115.  
  10116. Outputs
  10117. <return>
  10118.     whether or not this Draft contains any changes from previous Draft 
  10119.  
  10120. Exceptions Signalled
  10121. kODInvalidDraft
  10122.     Invalid Draft.
  10123.  
  10124. Pre conditions
  10125. this ODDraft object does not refere to the base draft of the document.
  10126.  
  10127. Post conditions
  10128. None.
  10129.  
  10130. æKY ODDraft::Clone
  10131. Draft::Clone
  10132. Draft->Clone
  10133. æT Class Method
  10134. æD ODID Clone(
  10135. in ODDraftKey key,
  10136. in ODID fromObjectID,
  10137. in ODID toObjectID,
  10138. in ODID scope);
  10139.  
  10140. æC Protection
  10141.     Public.  
  10142.  
  10143. Override policy
  10144.     Derived class must override.
  10145.     Derived class cannot call base class behavior.
  10146.  
  10147. Basic operation
  10148. This method clones a persistent object or a storage unit with the
  10149. corresponding id. If toObjectID is specified, the Properties and
  10150. Values will be copied to the Storage Unit/Persistent Object with the
  10151. specified ID. If toObjectID is 0, a new Storage Unit is created in the
  10152. destination Draft. Either way, the ID of the duplicated persistent
  10153. object or storage unit is returned.
  10154.  
  10155. Inputs
  10156. fromObjectID
  10157.     ID of the persistent object or storage unit to be cloned.
  10158. scope
  10159.     The scope of the clone (usually refer to the frame in which the
  10160. persistent object or storage unit is contained).
  10161. toObjectID
  10162.     ID of the duplicated persistent object or storage unit.
  10163. key
  10164.     key of the current cloning transaction
  10165.  
  10166. Outputs
  10167. <return>
  10168.     ID of the duplicated persistent object or storage unit
  10169.  
  10170. Exceptions Signalled
  10171. None.
  10172.  
  10173. Pre conditions
  10174. None.
  10175.  
  10176. Post conditions
  10177. None.
  10178.  
  10179. æKY ODDraft::CreateFrame
  10180. Draft::CreateFrame
  10181. Draft->CreateFrame
  10182. æT Class Method
  10183. æD ODFrame* CreateFrame(
  10184. ODType frameType,
  10185. ODFrame* containingFrame,
  10186. ODShape*  frameShape,
  10187. ODCanvas* biasCanvas,
  10188. ODPart*  part,
  10189. ODBoolean  isOverlaid);
  10190.  
  10191. æC Protection
  10192.     Public.  
  10193.  
  10194. Override policy
  10195.     Derived class must override.
  10196.     Derived class cannot call base class behavior.
  10197.  
  10198. Basic operation
  10199. Constructs an appropriate frame object (according to the type)
  10200. associated with it, and returns the ODFrame object.
  10201.  
  10202. Inputs
  10203. containingFrame
  10204.     see ODFrame documentaiont
  10205. frameShape
  10206. part
  10207. isOverlaid
  10208. frameType
  10209.     Type of the frame.
  10210. biasCanvas
  10211.     The canvas to whose coordinate space the call is biased. May be
  10212. kODNULL if the geometry is in the standard platform coordinate bias.
  10213.  
  10214. Outputs
  10215. <return>
  10216.     new ODFrame object
  10217.  
  10218. Exceptions Signalled
  10219. kODErrCannotCreateFrame
  10220.     Cannot create ODFrame object.
  10221.  
  10222. Pre conditions
  10223. Exclusive-write or Shared-write permissions on this Draft.
  10224.  
  10225. Post conditions
  10226. This Draft is marked dirty.
  10227.  
  10228. æKY ODDraft::CreateLinkSource
  10229. Draft::CreateLinkSource
  10230. Draft->CreateLinkSource
  10231. æT Class Method
  10232. æD ODLinkSource* CreateLinkSource(
  10233. ODPart* part);
  10234.  
  10235. æC Protection
  10236.     Public.  Called by parts when creating the source of a link, typically in their
  10237. CreateLink method.
  10238.  
  10239. Override policy
  10240.     Derived class can override.
  10241.     Derived class can call base class behavior, during derived class behavior.
  10242.  
  10243. Basic operation
  10244. Create a new ODLinkSource object in this draft.  Since all
  10245. ODLinkSource objects have a unique companion ODLink object, this
  10246. method fails if the companion object cannot be created.
  10247.  
  10248. The reference count of the object is incremented, so the client should
  10249. call the object's Release method when finished using the object.
  10250.  
  10251. Inputs
  10252. part
  10253.     The part containing the source content of the link. 
  10254.  
  10255. Outputs
  10256. <return>
  10257.      new ODLinkSource object
  10258.  
  10259. Exceptions Signalled
  10260. kODErrCannotCreateLink
  10261.     Cannot create the ODLinkSource or companion ODLink object.
  10262.  
  10263. Pre conditions
  10264. Exclusive-write or Shared-write permissions on this draft.
  10265.  
  10266. Post conditions
  10267. The returned instance is a fully functional ODLinkSource object.
  10268. This draft is marked dirty.
  10269.  
  10270. æKY ODDraft::CreateLinkSpec
  10271. Draft::CreateLinkSpec
  10272. Draft->CreateLinkSpec
  10273. æT Class Method
  10274. æD ODLinkSpec* CreateLinkSpec (
  10275. ODPart* part,
  10276. ODByteArray* data);
  10277.  
  10278. æC Protection
  10279.     Public.  
  10280.  
  10281. Override policy
  10282.     Derived class must override.
  10283.     Derived class cannot call base class behavior.
  10284.  
  10285. Basic operation
  10286. Create a link spec for content in the argument part.  This draft
  10287. guarantees that a subsequent call to ODDraft::GetLink with the
  10288. returned object as the link spec argument will resolve to the argument
  10289. part.  The ODLinkSpec object returned contains a copy of the argument
  10290. data.  LinkSpecs become invalid when the document creating the link
  10291. spec is closed.
  10292.  
  10293. If the link spec is being created prior to reading it from a storage
  10294. unit, nil may be passed as the part and data arguments.
  10295.  
  10296. The data parameter can contain any data which the part needs to create
  10297. the specified link. An object specifier is recommended but not
  10298. required.
  10299.  
  10300. Inputs
  10301. part
  10302.     The part object creating this link spec.
  10303. data
  10304.     Arbitrary data for private use of the part in ODPart::CreateLink().  
  10305. The client is responsible for disposing of the argument.
  10306.  
  10307. Outputs
  10308. <result>
  10309.     A new LinkSpec object.
  10310.  
  10311. Exceptions Signalled
  10312. None.
  10313.  
  10314. Pre conditions
  10315. None.
  10316.  
  10317. Post conditions
  10318. This Draft is marked dirty.
  10319.  
  10320. æKY ODDraft::CreatePart
  10321. Draft::CreatePart
  10322. Draft->CreatePart
  10323. æT Class Method
  10324. æD ODPart* CreatePart(
  10325. ODISOStr partType);
  10326.  
  10327. æC Protection
  10328.     Public.  
  10329.  
  10330. Override policy
  10331.     Derived class must override.
  10332.     Derived class cannot call base class behavior.
  10333.  
  10334. Basic operation
  10335. Creates a new Part in this Draft, constructs a ODPart to refer to the
  10336. new Part and returns the ODPart object.
  10337.  
  10338. Inputs
  10339. partType
  10340.     Type of Part to create
  10341.  
  10342. Outputs
  10343. <return>
  10344.     new ODPart object
  10345.  
  10346. Exceptions Signalled
  10347. kODErrCannotCreatePart
  10348.     Cannot create ODPart object.
  10349.  
  10350. Pre conditions
  10351. Exclusive-write or Shared-write permissions on this Draft.
  10352.  
  10353. Post conditions
  10354. This Draft is marked dirty.
  10355.  
  10356. æKY ODDraft::CreateStorageUnit
  10357. Draft::CreateStorageUnit
  10358. Draft->CreateStorageUnit
  10359. æT Class Method
  10360. æD ODStorageUnit* CreateStorageUnit();
  10361.  
  10362. æC Protection
  10363.     Public.  
  10364.  
  10365. Override policy
  10366.     Derived class must override.
  10367.     Derived class cannot call base class behavior.
  10368.  
  10369. Basic operation
  10370. Creates a new Storage Unit in this Draft, constructs a ODStorageUnit
  10371. to refer to it and returns the ODStorageUnit object.
  10372.  
  10373. Inputs
  10374. none
  10375.  
  10376. Outputs
  10377. <return>
  10378.     new ODStorageUnit object
  10379.  
  10380. Exceptions Signalled
  10381. None.
  10382.  
  10383. Pre conditions
  10384. Exclusive-write or Shared-write permissions on this Draft.
  10385.  
  10386. Post conditions
  10387. This Draft is marked dirty.
  10388.  
  10389. æKY ODDraft::EndClone
  10390. Draft::EndClone
  10391. Draft->EndClone
  10392. æT Class Method
  10393. æD void EndClone(
  10394. ODDraftKey key);
  10395.  
  10396. æC Protection
  10397.     Public.  
  10398.  
  10399. Override policy
  10400.     Derived class must override.
  10401.     Derived class cannot call base class behavior.
  10402.  
  10403. Basic operation
  10404. This function is used to end the transaction started by BeginClone.
  10405. When this call returns, all the ODStorageUnits whose CloneTo method
  10406. have been called should be copied to the destination ODDraft.
  10407.  
  10408. Inputs
  10409. key
  10410.     ODDraftKey which identifies the transaction.
  10411.  
  10412. Outputs
  10413. None.
  10414.  
  10415. Exceptions Signalled
  10416. kODErrInvalidDraftKey
  10417.  
  10418. Pre conditions
  10419. None.
  10420.  
  10421. Post conditions
  10422. All the ODStorageUnits whose CloneTo method have been called should be
  10423. copied to the destination ODDraft.
  10424.  
  10425. æKY ODDraft::Externalize
  10426. Draft::Externalize
  10427. Draft->Externalize
  10428. æT Class Method
  10429. æD ODDraft*  Externalize();
  10430.  
  10431. æC Protection
  10432.     Public.  
  10433.  
  10434. Override policy
  10435.     Derived class must override.
  10436.     Derived class cannot call base class behavior.
  10437.  
  10438. Basic operation
  10439. Externalizes any internal structures of this ODDraft objects and also
  10440. calls Externalize() on all the ODStorageUnits and ODPersistentObjects
  10441. (and derived objects) instantiated through this draft.
  10442.  
  10443. Inputs
  10444. none
  10445.  
  10446. Outputs
  10447. <return>
  10448.     this ODDraft object.
  10449.  
  10450. Exceptions Signalled
  10451. None.
  10452.  
  10453. Pre conditions
  10454. Exclusive-write or Shared-write permissions on this Draft.
  10455.  
  10456. Post conditions
  10457. All ODStorageUnits and ODPersistentObjects (and derived objects) have
  10458. been asked to Externalize.
  10459.  
  10460. æKY ODDraft::GetDocument
  10461. Draft::GetDocument
  10462. Draft->GetDocument
  10463. æT Class Method
  10464. æD ODDocument* GetDocument();
  10465.  
  10466. æC Protection
  10467.     Public.  
  10468.  
  10469. Override policy
  10470.     Derived class must override.
  10471.     Derived class cannot call base class behavior.
  10472.  
  10473. Basic operation
  10474. Returns the ODDocument object from which this ODDraft object is
  10475. created.
  10476.  
  10477. Inputs
  10478. none
  10479.  
  10480. Outputs
  10481. <return>
  10482.     fDocument
  10483.  
  10484. Exceptions Signalled
  10485. None.
  10486.  
  10487. Pre conditions
  10488. None.
  10489.  
  10490. Post conditions
  10491. None.
  10492.  
  10493. æKY ODDraft::GetDraftProperties
  10494. Draft::GetDraftProperties
  10495. Draft->GetDraftProperties
  10496. æT Class Method
  10497. æD ODStorageUnit* GetDraftProperties();
  10498.  
  10499. æC Protection
  10500.     Public.  
  10501.  
  10502. Override policy
  10503.     Derived class must override.
  10504.     Derived class cannot call base class behavior.
  10505.  
  10506. Basic operation
  10507. Returns a ODStorageUnit object in which the Draft uses to store Draft
  10508. Properties.
  10509.  
  10510. Inputs
  10511. none
  10512.  
  10513. Outputs
  10514. <return>
  10515.     this Draft's Draft Properties Storage Unit
  10516.  
  10517. Exceptions Signalled
  10518. kODErrNoDraftProperties
  10519.     Draft Properties Storage Unit cannot be created.
  10520.  
  10521. Pre conditions
  10522. None.
  10523.  
  10524. Post conditions
  10525. None.
  10526.  
  10527. æKY ODDraft::GetFrame
  10528. Draft::GetFrame
  10529. Draft->GetFrame
  10530. æT Class Method
  10531. æD ODFrame* GetFrame(
  10532. ODStorageUnitID id);
  10533.  
  10534. æC Protection
  10535.     Public.  
  10536.  
  10537. Override policy
  10538.     Derived class must override.
  10539.     Derived class cannot call base class behavior.
  10540.  
  10541. Basic operation
  10542. Returns a ODFrame object which refers to a Frame with the given id.
  10543.  
  10544. Inputs
  10545. id
  10546.     ID of the desired frame
  10547.  
  10548. Outputs
  10549. <return>
  10550.     A fully functional ODFrame object
  10551.  
  10552. Exceptions Signalled
  10553. kODErrCannotGetFrame
  10554.     Cannot create ODFrame object.
  10555.  
  10556. Pre conditions
  10557. ID refers to a valid Frame.
  10558.  
  10559. Post conditions
  10560. The return value is a fully functional ODFrame object with a reference
  10561. count >= 1.
  10562.  
  10563. æKY ODDraft::GetID
  10564. Draft::GetID
  10565. Draft->GetID
  10566. æT Class Method
  10567. æD ODDraftID  GetID();
  10568.  
  10569. æC Protection
  10570.     Public.  
  10571.  
  10572. Override policy
  10573.     Derived class must override.
  10574.     Derived class cannot call base class behavior.
  10575.  
  10576. Basic operation
  10577. Returns the ID associated with this Draft.
  10578.  
  10579. Inputs
  10580. none
  10581.  
  10582. Outputs
  10583. <return>
  10584.     ID of this Draft.
  10585.  
  10586. Exceptions Signalled
  10587. None.
  10588.  
  10589. Pre conditions
  10590. None.
  10591.  
  10592. Post conditions
  10593. None.
  10594.  
  10595. æKY ODDraft::GetLink
  10596. Draft::GetLink
  10597. Draft->GetLink
  10598. æT Class Method
  10599. æD ODLink* GetLink(
  10600. ODStorageUnitID id,
  10601. ODLinkSpec* linkSpec);
  10602.  
  10603. æC Protection
  10604.     Public.  
  10605.  
  10606. Override policy
  10607.     Derived class must override.
  10608.     Derived class cannot call base class behavior.
  10609.  
  10610. Basic operation
  10611. Returns a ODLink object corresponding to the specification. If id is
  10612. not 0, linkSpec is ignored. Otherwise, linkSpec is used to retrieve
  10613. the Link.
  10614.  
  10615. Inputs
  10616. id
  10617.     ID of the desired link
  10618. theLinkSpec
  10619.     a link spec from which a link is to be resolved or constructed  
  10620.  
  10621. Outputs
  10622. <return>
  10623.     a fully functional ODLink object
  10624.  
  10625. Exceptions Signalled
  10626. kODErrCannotGetLink
  10627.     Cannot create ODLink object.
  10628.  
  10629. Pre conditions
  10630. id or linkSpec represents a valid Link on this Draft.
  10631.  
  10632. Post conditions
  10633. The return value is a fully functional ODLink object with a reference
  10634. count >= 1.
  10635.  
  10636. æKY ODDraft::GetLinkSource
  10637. Draft::GetLinkSource
  10638. Draft->GetLinkSource
  10639. æT Class Method
  10640. æD ODLinkSource* GetLinkSource(
  10641. ODStorageUnitID id);
  10642.  
  10643. æC Protection
  10644.     Public.  Called by parts maintaining the source of a link, typically in their
  10645. InitFromStorage method.
  10646.  
  10647. Override policy
  10648.     Derived class must override.
  10649.     Derived class cannot call base class behavior.
  10650.  
  10651. Basic operation
  10652. Returns the ODLinkSource object identified by the argument id.  Since
  10653. all ODLinkSource objects have a unique companion ODLink object, this
  10654. method fails if the companion object does not exist and cannot be
  10655. created.
  10656.  
  10657. The reference count of the object is incremented, so the client should
  10658. call the object's Release method when finished using the object.
  10659.  
  10660. Inputs
  10661. id
  10662.     ID of the desired link
  10663.  
  10664. Outputs
  10665. <return>
  10666.     a fully functional ODLink object
  10667.  
  10668. Exceptions Signalled
  10669. kODErrCannotGetLink
  10670.     Cannot create ODLink object.
  10671.  
  10672. Pre conditions
  10673. id represents a valid ODLinkSource object in this draft.
  10674.  
  10675. Post conditions
  10676. The return value is a fully functional ODLinkSource object with a
  10677. reference count >= 1.
  10678.  
  10679. æKY ODDraft::GetName
  10680. Draft::GetName
  10681. Draft->GetName
  10682. æT Class Method
  10683. æD ODDraftName* GetName();
  10684.  
  10685. æC Protection
  10686.     Public.  Even though a Part can call this method, it should not need to know
  10687. the name of its Draft.
  10688.  
  10689. Override policy
  10690.     Derived class must override.
  10691.     Derived class cannot call base class behavior.
  10692.  
  10693. Basic operation
  10694. Returns the name of this Draft. If this Draft does not have a name,
  10695. kODNULL is returned.
  10696.  
  10697. Inputs
  10698. none
  10699.  
  10700. Outputs
  10701. <return>
  10702.     Name of this Draft.
  10703.  
  10704. Exceptions Signalled
  10705. None.
  10706.  
  10707. Pre conditions
  10708. None.
  10709.  
  10710. Post conditions
  10711. None.
  10712.  
  10713. æKY ODDraft::GetPart
  10714. Draft::GetPart
  10715. Draft->GetPart
  10716. æT Class Method
  10717. æD ODPart* GetPart(
  10718. ODStorageUnitID id);
  10719.  
  10720. æC Protection
  10721.     Public.  
  10722.  
  10723. Override policy
  10724.     Derived class must override.
  10725.     Derived class cannot call base class behavior.
  10726.  
  10727. Basic operation
  10728. Returns a ODPart object which refers to the Part with the given id.
  10729.  
  10730. Inputs
  10731. id
  10732.     the id of the desired part
  10733.  
  10734. Outputs
  10735. <return>
  10736.     a fully functional ODPart object
  10737.  
  10738. Exceptions Signalled
  10739. kODErrCannotGetPart
  10740.     Cannot create ODPart object.
  10741.  
  10742. Pre conditions
  10743. id represents a valid Part in this Draft.
  10744.  
  10745. Post conditions
  10746. The return value is a fully functional ODPart object with a reference
  10747. count >= 1.
  10748.  
  10749. æKY ODDraft::GetPermissions
  10750. Draft::GetPermissions
  10751. Draft->GetPermissions
  10752. æT Class Method
  10753. æD ODDraftPermissions    GetPermissions();
  10754.  
  10755. æC Protection
  10756.     Public.  
  10757.  
  10758. Override policy
  10759.     Derived class must override.
  10760.     Derived class cannot call base class behavior.
  10761.  
  10762. Basic operation
  10763. Returns the Permissions on the Draft.
  10764.  
  10765. Inputs
  10766. None.
  10767.  
  10768. Outputs
  10769. <return>
  10770.     Permissions on the Draft.
  10771.  
  10772. Exceptions Signalled
  10773. None.
  10774.  
  10775. Pre conditions
  10776. None.
  10777.  
  10778. Post conditions
  10779. None.
  10780.  
  10781. æKY ODDraft::GetPersistentObject
  10782. Draft::GetPersistentObject
  10783. Draft->GetPersistentObject
  10784. æT Class Method
  10785. æD ODPersistentObject GetPersistentObject(
  10786. in ODPersistentObjectID objectID,
  10787. out ODObjectType objectType);
  10788.  
  10789. æC Protection
  10790.     Public.  
  10791.  
  10792. Override policy
  10793.     Derived class can override.
  10794.     Derived class can call base class behavior.
  10795.  
  10796. Basic operation
  10797. Given an object id (gotten from GetPersistentObjectID), this function
  10798. returns the corresponding persistent object and its type.
  10799.  
  10800. Inputs
  10801. objectID
  10802.     objectID
  10803.  
  10804. Outputs
  10805. <return>
  10806.     persistent object whose id is objectID
  10807. objectType
  10808.     objectType of the persistent object
  10809.  
  10810. Exceptions Signalled
  10811. None.
  10812.  
  10813. Pre conditions
  10814. None.
  10815.  
  10816. Post conditions
  10817. None.
  10818.  
  10819. æKY ODDraft::GetPersistentObjectID
  10820. Draft::GetPersistentObjectID
  10821. Draft->GetPersistentObjectID
  10822. æT Class Method
  10823. æD ODPersistentObjectID GetPersistentObjectID(
  10824. in ODPersistentObject object,
  10825. in ODObjectType type);
  10826.  
  10827. æC Protection
  10828.     Public.  
  10829.  
  10830. Override policy
  10831.     Derived class can override.
  10832.     Derived class can call base class behavior.
  10833.  
  10834. Basic operation
  10835. Given the ODPersistentObject and ODObjectType, this function returns
  10836. an ODPersistentObjectID associated with the ODPersistentObject.
  10837. This ODPersistentObjectID cannot be used to replace ODStorageUnitRef.
  10838. This ID can only be used in the context of scripting.
  10839.  
  10840. Inputs
  10841. object
  10842.     ODPersistentObject whose id is desired.
  10843. type
  10844.     Type of object (either kODPartObject or kODPartFrame).
  10845.  
  10846. Outputs
  10847. <return>
  10848.     Persistent Object ID
  10849.  
  10850. Exceptions Signalled
  10851. None.
  10852.  
  10853. Pre conditions
  10854. None.
  10855.  
  10856. Post conditions
  10857. None.
  10858.  
  10859. æKY ODDraft::GetStorageUnit
  10860. Draft::GetStorageUnit
  10861. Draft->GetStorageUnit
  10862. æT Class Method
  10863. æD ODStorageUnit* GetStorageUnit(
  10864. ODStorageUnitID id);
  10865.  
  10866. æC Protection
  10867.     Public.  
  10868.  
  10869. Override policy
  10870.     Derived class must override.
  10871.     Derived class cannot call base class behavior.
  10872.  
  10873. Basic operation
  10874. Returns a ODStorageUnit object which refers to a Storage Unit with the
  10875. given id.
  10876.  
  10877. Inputs
  10878. id
  10879.     the id of the storage unit des9ired
  10880.  
  10881. Outputs
  10882. <return>
  10883.     a fully functional ODStorageUnit object
  10884.  
  10885. Exceptions Signalled
  10886. None.
  10887.  
  10888. Pre conditions
  10889. id represents a valid Storage Unit in this Draft.
  10890.  
  10891. Post conditions
  10892. The return value is a fully functional ODStorageUnit object with a
  10893. reference count >= 1.
  10894.  
  10895. æKY ODDraft::IncrementRefCount
  10896. Draft::IncrementRefCount
  10897. Draft->IncrementRefCount
  10898. æT Class Method
  10899. æD void IncrementRefCount();
  10900.  
  10901. æC Protection
  10902.     Public.  
  10903.  
  10904. Override policy
  10905.     Derived class must override.
  10906.     Derived class cannot call base class behavior.
  10907.  
  10908. Basic operation
  10909. Increments the reference count of this ODDraft object.
  10910.  
  10911. Inputs
  10912. none
  10913.  
  10914. Outputs
  10915. none
  10916.  
  10917. Exceptions Signalled
  10918. None.
  10919.  
  10920. Pre conditions
  10921. None.
  10922.  
  10923. Post conditions
  10924. The reference count of this object is incremented by 1.
  10925.  
  10926. æKY ODDraft::InitDraft
  10927. Draft::InitDraft
  10928. Draft->InitDraft
  10929. æT Class Method
  10930. æD void InitDraft(
  10931. ODDocument* document,
  10932. ODDraftID id,
  10933. ODDraftPermissions perms);
  10934.  
  10935. æC Protection
  10936.     Public.  Private within the Storage System. This method should only be called
  10937. by ODDocument::CreateDraft or ODDocument::GetDraft.
  10938.  
  10939. Override policy
  10940.     Derived class must override.
  10941.     Derived class cannot call base class behavior.
  10942.  
  10943. Basic operation
  10944. Initializes this ODDraft object with the supplied parameters.
  10945.  
  10946. Inputs
  10947. document
  10948.     Document from which this ODDraft is created.
  10949. id
  10950.     ID of this Draft.
  10951. perms
  10952.     Access permissions for this ODDraft.
  10953.  
  10954. Outputs
  10955. none
  10956.  
  10957. Exceptions Signalled
  10958. None.
  10959.  
  10960. Pre conditions
  10961. None.
  10962.  
  10963. Post conditions
  10964. this is an initialized ODDraft object.
  10965.  
  10966. æKY ODDraft::IsValidID
  10967. Draft::IsValidID
  10968. Draft->IsValidID
  10969. æT Class Method
  10970. æD ODBoolean IsValidID(
  10971. ODID id);
  10972.  
  10973. æC Protection
  10974.     Public.  
  10975.  
  10976. Override policy
  10977.     Derived class must override.
  10978.     Derived class cannot call base class behavior.
  10979.  
  10980. Basic operation
  10981. Tests the argument object ID for validity.  This method can be used to
  10982. test the validity of an object ID returned by Clone or WeakClone,
  10983. after EndClone has been called.
  10984.  
  10985. Inputs
  10986. id
  10987.     An object ID
  10988.  
  10989. Outputs
  10990. <return>
  10991.     kODTrue if id is a valid object ID, and kODFalse otherwise.
  10992.  
  10993. Exceptions Signalled
  10994. None.
  10995.  
  10996. Pre conditions
  10997. None.
  10998.  
  10999. Post conditions
  11000. None.
  11001.  
  11002. æKY ODDraft::Purge
  11003. Draft::Purge
  11004. Draft->Purge
  11005. æT Class Method
  11006. æD ODSize Purge(
  11007. ODSize size);
  11008.  
  11009. æC Protection
  11010.     Public.  Private within the Storage System. This method should only be called
  11011. by ODDocument::Purge.
  11012.  
  11013. Override policy
  11014.     Derived class must override.
  11015.     Derived class cannot call base class behavior.
  11016.  
  11017. Basic operation
  11018. Purge memory from ephemeral store until size bytes (not necessarily
  11019. contiguous) have been freed up.
  11020.  
  11021. Inputs
  11022. size
  11023.     Number of bytes to purge
  11024.  
  11025. Outputs
  11026. <return>
  11027.     Number of bytes actually purged
  11028.  
  11029. Exceptions Signalled
  11030. None.
  11031.  
  11032. Pre conditions
  11033. None.
  11034.  
  11035. Post conditions
  11036. Either size bytes (not necessarily contiguous) are free in the default
  11037. heap or  Purge() has been called on every ODStorageUnit or
  11038. ODPersistentObjects (and their derived objects) associated with this
  11039. ODDraft object.
  11040.  
  11041. æKY ODDraft::Release
  11042. Draft::Release
  11043. Draft->Release
  11044. æT Class Method
  11045. æD ODDocument* Release();
  11046.  
  11047. æC Protection
  11048.     Public.  
  11049.  
  11050. Override policy
  11051.     Derived class must override.
  11052.     Derived class cannot call base class behavior.
  11053.  
  11054. Basic operation
  11055. Releases this ODDraft object.
  11056.  
  11057. Inputs
  11058. none
  11059.  
  11060. Outputs
  11061. <return>
  11062.     fDocument
  11063.  
  11064. Exceptions Signalled
  11065. None.
  11066.  
  11067. Pre conditions
  11068. None.
  11069.  
  11070. Post conditions
  11071. this ODDraft object is no longer a valid ODDraft object.
  11072.  
  11073. æKY ODDraft::ReleaseFrame
  11074. Draft::ReleaseFrame
  11075. Draft->ReleaseFrame
  11076. æT Class Method
  11077. æD void  ReleaseFrame(
  11078. ODFrame* frame);
  11079.  
  11080. æC Protection
  11081.     Public.  Private between ODDraft and ODFrame. ODFrame::Release calls this
  11082. method when its refCount goes down to 0.
  11083.  
  11084. Override policy
  11085.     Derived class must override.
  11086.     Derived class cannot call base class behavior.
  11087.  
  11088. Basic operation
  11089. Releases the ODFrame object.
  11090.  
  11091. Inputs
  11092. frame
  11093.     ODFrame object to be released
  11094.  
  11095. Outputs
  11096. none
  11097.  
  11098. Exceptions Signalled
  11099. kODErrInvalidRefCount
  11100.     RefCount of object is not 0.
  11101.  
  11102. Pre conditions
  11103. frame is a ODFrame object with a refCount of 0.
  11104.  
  11105. Post conditions
  11106. None.
  11107.  
  11108. æKY ODDraft::ReleaseLink
  11109. Draft::ReleaseLink
  11110. Draft->ReleaseLink
  11111. æT Class Method
  11112. æD void  ReleaseLink(
  11113. ODLink* link);
  11114.  
  11115. æC Protection
  11116.     Public.  Private between ODDraft and ODLink. ODLink::Release calls this method
  11117. when its refCount goes down to 0.
  11118.  
  11119. Override policy
  11120.     Derived class must override.
  11121.     Derived class cannot call base class behavior.
  11122.  
  11123. Basic operation
  11124. Releases the ODLink object.
  11125.  
  11126. Inputs
  11127. link
  11128.     ODLink object to be released
  11129.  
  11130. Outputs
  11131. none
  11132.  
  11133. Exceptions Signalled
  11134. kODErrInvalidRefCount
  11135.     Refcount of link is not 0.
  11136.  
  11137. Pre conditions
  11138. link is a ODLink object with a refCount of 0.
  11139.  
  11140. Post conditions
  11141. None.
  11142.  
  11143. æKY ODDraft::ReleasePart
  11144. Draft::ReleasePart
  11145. Draft->ReleasePart
  11146. æT Class Method
  11147. æD void  ReleasePart(
  11148. ODPart* part);
  11149.  
  11150. æC Protection
  11151.     Public.  Private between ODPart and ODDraft. ODPart::Release calls this method
  11152. when its refCount goes down to 0.
  11153.  
  11154. Override policy
  11155.     Derived class must override.
  11156.     Derived class cannot call base class behavior.
  11157.  
  11158. Basic operation
  11159. Releases the given ODPart object.
  11160.  
  11161. Inputs
  11162. part
  11163.     ODPart object to be released
  11164.  
  11165. Outputs
  11166. none
  11167.  
  11168. Exceptions Signalled
  11169. kODErrInvalidRefCount
  11170.     RefCount of part is not 0.
  11171.  
  11172. Pre conditions
  11173. part is a ODPart object with a refCount of 0.
  11174.  
  11175. Post conditions
  11176. None.
  11177.  
  11178. æKY ODDraft::ReleaseStorageUnit
  11179. Draft::ReleaseStorageUnit
  11180. Draft->ReleaseStorageUnit
  11181. æT Class Method
  11182. æD ODDraft*  ReleaseStorageUnit(
  11183. ODStorageUnit* storageUnit);
  11184.  
  11185. æC Protection
  11186.     Private.  Private within the Storage System. ODStorageUnit::Release calls this
  11187. method when its refCount goes down to 0.
  11188.  
  11189. Override policy
  11190.     Derived class must override.
  11191.     Derived class cannot call base class behavior.
  11192.  
  11193. Basic operation
  11194. Decrement the reference count for the given ODStorageUnit object.
  11195.  
  11196. Inputs
  11197. storageUnit
  11198.     ODStorageUnit object to be released
  11199.  
  11200. Outputs
  11201. <return>
  11202.     this
  11203.  
  11204. Exceptions Signalled
  11205. kODErrInvalidRefCount
  11206.     Refcount of storageUnit is not 0.
  11207.  
  11208. Pre conditions
  11209. storageUnit is a ODStorageUnit object with a refCount of 0.
  11210.  
  11211. Post conditions
  11212. None.
  11213.  
  11214. æKY ODDraft::RemoveChanges
  11215. Draft::RemoveChanges
  11216. Draft->RemoveChanges
  11217. æT Class Method
  11218. æD ODDraft*  RemoveChanges();
  11219.  
  11220. æC Protection
  11221.     Public.  
  11222.  
  11223. Override policy
  11224.     Derived class must override.
  11225.     Derived class cannot call base class behavior.
  11226.  
  11227. Basic operation
  11228. Removes any changes been made between this Draft and the Draft
  11229. immediately below it.
  11230.  
  11231. Inputs
  11232. none
  11233.  
  11234. Outputs
  11235. <return>
  11236.     this
  11237.  
  11238. Exceptions Signalled
  11239. None.
  11240.  
  11241. Pre conditions
  11242. this Draft is "gotten" with kDPExclusiveWrite perms.
  11243.  
  11244. Post conditions
  11245. this Draft is 'empty'.
  11246.  
  11247. æKY ODDraft::RemoveFrame
  11248. Draft::RemoveFrame
  11249. Draft->RemoveFrame
  11250. æT Class Method
  11251. æD void  RemoveFrame(
  11252. ODFrame* frame);
  11253.  
  11254. æC Protection
  11255.     Public.  Private between ODDraft and ODFrame. This method should only be called
  11256. by ODFrame::Remove.
  11257.  
  11258. Override policy
  11259.     Derived class must override.
  11260.     Derived class cannot call base class behavior.
  11261.  
  11262. Basic operation
  11263. Removes the frame persistently from the Draft and destroys the ODFrame
  11264. associated with it.
  11265.  
  11266. Inputs
  11267. frame
  11268.     the frame to be removed
  11269.  
  11270. Outputs
  11271. none
  11272.  
  11273. Exceptions Signalled
  11274. kODErrInvalidStorageUnit
  11275.     Invalid ODFrame with no ODStorageUnit associated with it.
  11276. kODErrInvalidRefCount
  11277.     RefCount of frame is not 1.
  11278.  
  11279. Pre conditions
  11280. The refcount of the given ODFrame object  is 1.
  11281. The permissions of this ODDraft are kDPExclusiveWrite or
  11282. kDPSharedWrite.
  11283.  
  11284. Post conditions
  11285. frame is no longer a valid ODFrame object.
  11286. this Draft no longer contains a Frame with the corresponding id.
  11287.  
  11288. æKY ODDraft::RemoveFromDocument
  11289. Draft::RemoveFromDocument
  11290. Draft->RemoveFromDocument
  11291. æT Class Method
  11292. æD void   RemoveFromDocument();
  11293.  
  11294. æC Protection
  11295.     Public.  
  11296.  
  11297. Override policy
  11298.     Derived class must override.
  11299.     Derived class cannot call base class behavior.
  11300.  
  11301. Basic operation
  11302. Removes this Draft persistently from its Document and destroys the
  11303. ODDraft associated with it.
  11304.  
  11305. Inputs
  11306. none
  11307.  
  11308. Outputs
  11309. none
  11310.  
  11311. Exceptions Signalled
  11312. None.
  11313.  
  11314. Pre conditions
  11315. This ODDraft is gotten  with write permissions.
  11316. This Draft is 'empty'.
  11317. This Draft is not the Base Draft.
  11318.  
  11319. Post conditions
  11320. this object is no longer a valid ODDraft.
  11321. The Draft which used to be directly above this one is now directly
  11322. above the Draft which used to be below this one.
  11323.  
  11324. æKY ODDraft::RemoveLink
  11325. Draft::RemoveLink
  11326. Draft->RemoveLink
  11327. æT Class Method
  11328. æD void  RemoveLink(
  11329. ODLink* link);
  11330.  
  11331. æC Protection
  11332.     Public.  Private between ODDraft and ODLink. This method should only be called
  11333. by ODLink::Remove.
  11334.  
  11335. Override policy
  11336.     Derived class must override.
  11337.     Derived class cannot call base class behavior.
  11338.  
  11339. Basic operation
  11340. Removes the Link referred to by link  from this Draft.
  11341.  
  11342. Inputs
  11343. link
  11344.     Link to be removed  
  11345.  
  11346. Outputs
  11347. none
  11348.  
  11349. Exceptions Signalled
  11350. kODErrInvalidRefCount
  11351.     Refcount of link is not 1.
  11352. kODErrInvalidStorageUnit
  11353.     Invalid ODLink with no ODStorageUnit associated with it.
  11354.  
  11355. Pre conditions
  11356. The refcount of the given ODLink object  is 1.
  11357. The permissions of this ODDraft are kDPExclusiveWrite or
  11358. kDPSharedWrite.
  11359.  
  11360. Post conditions
  11361. link is no longer a valid ODLink object
  11362. This Draft no longer contains a Link with the corresponding id.
  11363.  
  11364. æKY ODDraft::RemoveLinkSource
  11365. Draft::RemoveLinkSource
  11366. Draft->RemoveLinkSource
  11367. æT Class Method
  11368. æD void RemoveLinkSource(
  11369. ODLinkSource* link);
  11370.  
  11371. æC Protection
  11372.     Public.  Private for use only by ODLinkSource.
  11373.  
  11374. Override policy
  11375.     Derived class can override.
  11376.     Derived class can call base class behavior, during derived class behavior.
  11377.  
  11378. Basic operation
  11379. Removes the ODLinkSource referred to by link  from this draft.
  11380.  
  11381. Inputs
  11382. link
  11383.     Link to be removed  
  11384.  
  11385. Outputs
  11386. None.
  11387.  
  11388. Exceptions Signalled
  11389. kODErrInvalidRefCount
  11390.     Refcount of link is not 1.
  11391. kODErrInvalidStorageUnit
  11392.     Invalid ODLinkSource with no ODStorageUnit associated with it.
  11393.  
  11394. Pre conditions
  11395. The refcount of the link argument  is 1.
  11396. The permissions of this draft are kDPExclusiveWrite or kDPSharedWrite.
  11397.  
  11398. Post conditions
  11399. link is no longer a valid ODLinkSource object.
  11400. This draft no longer contains a ODLinkSource object with the
  11401. corresponding id.
  11402.  
  11403. æKY ODDraft::RemovePart
  11404. Draft::RemovePart
  11405. Draft->RemovePart
  11406. æT Class Method
  11407. æD void  RemovePart(
  11408. ODPart* part);
  11409.  
  11410. æC Protection
  11411.     Public.  Private between ODDraft and ODPart. This method should only be called
  11412. by ODPart::Remove.
  11413.  
  11414. Override policy
  11415.     Derived class must override.
  11416.     Derived class cannot call base class behavior.
  11417.  
  11418. Basic operation
  11419. Removes  from this Draft the Part referred to by the given ODPart
  11420. object.
  11421.  
  11422. Inputs
  11423. part
  11424.     Part to be removed
  11425.  
  11426. Outputs
  11427. none
  11428.  
  11429. Exceptions Signalled
  11430. kODErrInvalidRefCount
  11431.     Refcount of part is not 1.
  11432. kODErrInvalidStorageUnit
  11433.     Invalid ODPart with no ODStorageUnit associated with it. 
  11434.  
  11435. Pre conditions
  11436. The refcount of the given ODPart object  is 1.
  11437. The permissions of this ODDraft object are kDPExclusiveWrite or
  11438. kDPSharedWrite.
  11439.  
  11440. Post conditions
  11441. part is no longer a valid ODPart object.
  11442. This Draft no longer contains a Part with the corresponding id.
  11443.  
  11444. æKY ODDraft::RemoveStorageUnit
  11445. Draft::RemoveStorageUnit
  11446. Draft->RemoveStorageUnit
  11447. æT Class Method
  11448. æD void   RemoveStorageUnit(
  11449. ODStorageUnit* storageUnit);
  11450.  
  11451. æC Protection
  11452.     Public.  Private with the Storage System. This method should only be called by
  11453. ODStorageUnit::Remove.
  11454.  
  11455. Override policy
  11456.     Derived class must override.
  11457.     Derived class cannot call base class behavior.
  11458.  
  11459. Basic operation
  11460. Removes from this Draft the Storage Unit referred to by the
  11461. ODStorageUnit object.
  11462.  
  11463. Inputs
  11464. storageUnit
  11465.     Storage unit to be removed
  11466.  
  11467. Outputs
  11468. none
  11469.  
  11470. Exceptions Signalled
  11471. kODErrInvalidStorageUnit
  11472.     Invalid storageUnit.
  11473.  
  11474. Pre conditions
  11475. The refcount of the given ODStorageUnit object  is 1.
  11476. The permissions of this ODDraft  are kDPExclusiveWrite or
  11477. kDPSharedWrite.
  11478.  
  11479. Post conditions
  11480. storageUnit is no longer a valid ODStorageUnit object.
  11481. This Draft no longer contains a storage unit with the corresponding
  11482. id.
  11483.  
  11484. æKY ODDraft::SaveToAPrevious
  11485. Draft::SaveToAPrevious
  11486. Draft->SaveToAPrevious
  11487. æT Class Method
  11488. æD ODDraft*  SaveToAPrevious(
  11489. ODDraft* to);
  11490.  
  11491. æC Protection
  11492.     Public.  
  11493.  
  11494. Override policy
  11495.     Derived class must override.
  11496.     Derived class cannot call base class behavior.
  11497.  
  11498. Basic operation
  11499. same as ODDocument::SaveToAPrevDraft(this,to).
  11500.  
  11501. Inputs
  11502. to
  11503.     draft to move changes to
  11504.  
  11505. Outputs
  11506. <return>
  11507.     this
  11508.  
  11509. Exceptions Signalled
  11510. None.
  11511.  
  11512. Pre conditions
  11513. None.
  11514.  
  11515. Post conditions
  11516. None.
  11517.  
  11518. æKY ODDraft::SetChangedFromPrev
  11519. Draft::SetChangedFromPrev
  11520. Draft->SetChangedFromPrev
  11521. æT Class Method
  11522. æD void SetChangedFromPrev();
  11523.  
  11524. æC Protection
  11525.     Public.  
  11526.  
  11527. Override policy
  11528.     Derived class must override.
  11529.     Derived class cannot call base class behavior.
  11530.  
  11531. Basic operation
  11532. Marks this Draft dirty (i.e., ChangedFromPrev).
  11533. Parts can call this method to mark the Draft dirty. The dirty state of
  11534. the Draft will trigger externalization when the Draft is closed.
  11535. Note that a Draft cannot be marked clean after it has been marked
  11536. dirty. However, RemoveChanges can be called to remove all the changes
  11537. in this Draft.
  11538.  
  11539. Inputs
  11540. None
  11541.  
  11542. Outputs
  11543. None
  11544.  
  11545. Exceptions Signalled
  11546. None.
  11547.  
  11548. Pre conditions
  11549. None.
  11550.  
  11551. Post conditions
  11552. None.
  11553.  
  11554. æKY ODDraft::SetName
  11555. Draft::SetName
  11556. Draft->SetName
  11557. æT Class Method
  11558. æD void   SetName(
  11559. ODDraftName name);
  11560.  
  11561. æC Protection
  11562.     Public.  
  11563.  
  11564. Override policy
  11565.     Derived class must override.
  11566.     Derived class cannot call base class behavior.
  11567.  
  11568. Basic operation
  11569. Sets the name of this Draft.
  11570.  
  11571. Inputs
  11572. name
  11573.     New name of this draft
  11574.  
  11575. Outputs
  11576. none
  11577.  
  11578. Exceptions Signalled
  11579. None.
  11580.  
  11581. Pre conditions
  11582. name represents a valid ODDraftName.
  11583.  
  11584. Post conditions
  11585. None.
  11586.  
  11587. æKY ODDraft::WeakClone
  11588. Draft::WeakClone
  11589. Draft->WeakClone
  11590. æT Class Method
  11591. æD ODID WeakClone(
  11592. in ODDraftKey key,
  11593. in ODID fromObjectID,
  11594. in ODID toObjectID,
  11595. in ODID scope);
  11596.  
  11597. æC Protection
  11598.     Public.  
  11599.  
  11600. Override policy
  11601.     Derived class must override.
  11602.     Derived class cannot call base class behavior.
  11603.  
  11604. Basic operation
  11605. This method works the same as Clone except that it is used to clone
  11606. persistent objects or storage units which are only weakly referenced.
  11607.  
  11608. Inputs
  11609. fromObjectID
  11610.     ID of the persistent object or storage unit to be cloned.
  11611. scope
  11612.     The scope of the clone (usually refer to the frame in which the
  11613. persistent object or storage unit is contained).
  11614. toObjectID
  11615.     ID of the duplicated persistent object or storage unit.
  11616. key
  11617.     key of the current cloning transaction
  11618.  
  11619. Outputs
  11620. <return>
  11621.     ID of the duplicated persistent object or storage unit
  11622.  
  11623. Exceptions Signalled
  11624. None.
  11625.  
  11626. Pre conditions
  11627. None.
  11628.  
  11629. Post conditions
  11630. None.
  11631.  
  11632. æKY ODDraft::fDocument
  11633. Draft::fDocument
  11634. æT Class Field
  11635. æD ODDocument*
  11636. æC Persistent form
  11637. None.
  11638.  
  11639. æKY ODDraft::fFrames
  11640. Draft::fFrames
  11641. æT Class Field
  11642. æD ODSCollection*
  11643. æC Persistent form
  11644. None.
  11645.  
  11646. æKY ODDraft::fID
  11647. Draft::fID
  11648. æT Class Field
  11649. æD ODDraftID
  11650. æC Persistent form
  11651. ID
  11652. kODPropDraftID
  11653. stores the id of the draft
  11654.  
  11655.  
  11656. æKY ODDraft::fLinks
  11657. Draft::fLinks
  11658. æT Class Field
  11659. æD ODSCollection*
  11660. æC Persistent form
  11661. None.
  11662.  
  11663. æKY ODDraft::fName
  11664. Draft::fName
  11665. æT Class Field
  11666. æD ODDraftName
  11667. æC Persistent form
  11668. Name
  11669. kODPropDraftName
  11670. stores the name of the draft
  11671.  
  11672.  
  11673. æKY ODDraft::fParts
  11674. Draft::fParts
  11675. æT Class Field
  11676. æD ODSCollection*
  11677. æC Persistent form
  11678. None.
  11679.  
  11680. æKY ODDraft::fPermissions
  11681. Draft::fPermissions
  11682. æT Class Field
  11683. æD ODDraftPermissions
  11684. æC Persistent form
  11685. None.
  11686.  
  11687. æKY ODDraft::fStorageUnits
  11688. Draft::fStorageUnits
  11689. æT Class Field
  11690. æD ODSCollection*
  11691. æC Persistent form
  11692. None.
  11693.  
  11694.  
  11695. æKY ODDragAndDropHelp
  11696. ODDragAndDrop
  11697. DragAndDrop
  11698. æKL ODDragAndDrop::ODDragAndDrop
  11699. ODDragAndDrop::~ODDragAndDrop
  11700. ODDragAndDrop::Clear
  11701. ODDragAndDrop::GetContentStorageUnit
  11702. ODDragAndDrop::GetDragAttributes
  11703. ODDragAndDrop::GetDragReference
  11704. ODDragAndDrop::InitDragAndDrop
  11705. ODDragAndDrop::Purge
  11706. ODDragAndDrop::ShowPasteAsDialog
  11707. ODDragAndDrop::StartDrag
  11708. æC Basic Class Documentation
  11709. Platform implementors should implement this class to provide the
  11710. functionality of a OpenDoc Drag and Drop mechanism.
  11711. This class depends on system services provided by the platform. They
  11712. include a clipboard-like service where data can be transfered within a
  11713. process or between processes, and a system-wide mouse tracking service
  11714. which can notify a process about the location (i.e., whether the mouse
  11715. is entering, leaving or in a window of the process) and the state of
  11716. the mouse (i.e., whether there is a mouse-down or mouse-up).
  11717. This class provides the basic mechanism for dragging an object within
  11718. a part, between parts, and between an OpenDoc document and a
  11719. non-OpenDoc application.
  11720. At the process' startup time, a ODDragAndDrop object is instantiated
  11721. and stored with the ODSession object. 
  11722.  
  11723. Theory of Operation
  11724. The main client of this class is ODPart. Any part can initiate a drag.
  11725. Whenever a part needs to use the Drag-and-Drop mechanism, it can
  11726. acquire the ODDragAndDrop object through the ODSession object.
  11727. When a mouse-down is detected within a frame, the part has the choice
  11728. of initiating a drag. This involves acquiring the drag focus (to be
  11729. thread-safe), getting the ODDragAndDrop object from the ODSession,
  11730. copying the data for the dragged object to the ODDragAndDrop object
  11731. (through a ODStorageUnit supplied by the ODDragAndDrop object) and
  11732. starting a drag action. Once the drag is initiated, the ODDragAndDrop
  11733. object will notify the Frame when the mouse passes over it. If the
  11734. mouse is released over a Frame, it will be notified of the drop and it
  11735. can retrieve the data for the dragged object from the supplied
  11736. ODStorageUnit object.
  11737. As mentioned above, copying data to and from the ODDragAndDrop object
  11738. is done through a ODStorageUnit.
  11739.  
  11740. Invariants Maintained by Class
  11741. Note that the client of this class should never cache the
  11742. ODDragAndDrop object nor its ODStorageUnit. Instead, it should always
  11743. get these objects through ODSession and ODDragAndDrop APIs whenever
  11744. they are needed.
  11745. æKY ODDragAndDrop::ODDragAndDrop
  11746. DragAndDrop::ODDragAndDrop
  11747. DragAndDrop->ODDragAndDrop
  11748. æT Class Method
  11749. æD ODDragAndDrop();
  11750.  
  11751. æC Protection
  11752.     Public.  This method is called once by ODSession::InitSession.
  11753.  
  11754. Override policy
  11755.     Derived class cannot override.
  11756.     Derived class cannot call base class behavior, during derived class behavior.
  11757.  
  11758. Basic operation
  11759. This function is the constructor of the ODDragAndDrop object. It is
  11760. called once at the process' startup time. 
  11761.  
  11762. Inputs
  11763. None
  11764.  
  11765. Outputs
  11766. None
  11767.  
  11768. Exceptions Signalled
  11769. None.
  11770.  
  11771. Pre conditions
  11772. None.
  11773.  
  11774. Post conditions
  11775. None.
  11776.  
  11777. æKY ODDragAndDrop::~ODDragAndDrop
  11778. DragAndDrop::~ODDragAndDrop
  11779. DragAndDrop->~ODDragAndDrop
  11780. æT Class Method
  11781. æD ~ODDragAndDrop();
  11782.  
  11783. æC Protection
  11784.     Public.  This method should only be called by ODSession::~ODSession.
  11785.  
  11786. Override policy
  11787.     Derived class cannot override.
  11788.     Derived class cannot call base class behavior, during derived class behavior.
  11789.  
  11790. Basic operation
  11791. This function is the destructor for the ODDragAndDrop object. It is
  11792. called once when OpenDoc quits. It should close all the required
  11793. system services that it has initialized.
  11794.  
  11795. Inputs
  11796. None
  11797.  
  11798. Outputs
  11799. None
  11800.  
  11801. Exceptions Signalled
  11802. None.
  11803.  
  11804. Pre conditions
  11805. None.
  11806.  
  11807. Post conditions
  11808. None.
  11809.  
  11810. æKY ODDragAndDrop::Clear
  11811. DragAndDrop::Clear
  11812. DragAndDrop->Clear
  11813. æT Class Method
  11814. æD void Clear();
  11815.  
  11816. æC Protection
  11817.     Public.  None.
  11818.  
  11819. Override policy
  11820.     Derived class cannot override.
  11821.     Derived class cannot call base class behavior, during derived class behavior.
  11822.  
  11823. Basic operation
  11824. This function removes all the user data stored in the ODDragAndDrop
  11825. object.
  11826. This is called by a Part before it is going to put data into this
  11827. object for transfer.
  11828.  
  11829. Inputs
  11830. None
  11831.  
  11832. Outputs
  11833. None
  11834.  
  11835. Exceptions Signalled
  11836. None.
  11837.  
  11838. Pre conditions
  11839. None.
  11840.  
  11841. Post conditions
  11842. The ODStorageUnit should be empty.
  11843.  
  11844. æKY ODDragAndDrop::GetContentStorageUnit
  11845. DragAndDrop::GetContentStorageUnit
  11846. DragAndDrop->GetContentStorageUnit
  11847. æT Class Method
  11848. æD ODStorageUnit* GetContentStorageUnit();
  11849.  
  11850. æC Protection
  11851.     Public.  
  11852.  
  11853. Override policy
  11854.     Derived class cannot override.
  11855.     Derived class cannot call base class behavior, during derived class behavior.
  11856.  
  11857. Basic operation
  11858. This function returns an ODStorageUnit object.
  11859. The caller should copy data to the ODDragAndDrop object through the
  11860. ODStorageUnit object.
  11861. To ensure that the ODStorageUnit is empty, Clear() should be called
  11862. immediately after GetStorageUnit() is called.
  11863.  
  11864. Inputs
  11865. None
  11866.  
  11867. Outputs
  11868. <return>
  11869.     An empty ODStorageUnit object for the caller to copy the data to.
  11870.  
  11871. Exceptions Signalled
  11872. None.
  11873.  
  11874. Pre conditions
  11875. None.
  11876.  
  11877. Post conditions
  11878. An empty ODStorageUnit is returned.
  11879.  
  11880. æKY ODDragAndDrop::GetDragAttributes
  11881. DragAndDrop::GetDragAttributes
  11882. DragAndDrop->GetDragAttributes
  11883. æT Class Method
  11884. æD ODULong GetDragAttributes();
  11885.  
  11886. æC Protection
  11887.     Public.  This is a Macintosh specific function used to give the parts
  11888. additional information about a drag.
  11889.  
  11890. Override policy
  11891.     Derived class cannot override.
  11892.     Derived class cannot call base class behavior, during derived class behavior.
  11893.  
  11894. Basic operation
  11895. This function returns a flag word containing info about the current
  11896. drag.   The following flags are used:
  11897. #define kODdragHasLeftSourceFrame          0x00000001
  11898. #define kODdragIsInSourcePart              0x00000002
  11899. #define kODdragIsInSourceFrame             0x00000004
  11900. If no drag is currently in progress, the result is 0.  The contents of
  11901. the flag word are intended to help the part determine if user feedback
  11902. is neccessary and to help the part efficiently handle the contents of
  11903. the drag.
  11904.  
  11905. Inputs
  11906. None
  11907.  
  11908. Outputs
  11909. ODULong
  11910.     Flag word contianing info on the current drag.
  11911.  
  11912. Exceptions Signalled
  11913. None.
  11914.  
  11915. Pre conditions
  11916. A drag must be in progress.
  11917.  
  11918. Post conditions
  11919. None.
  11920.  
  11921. æKY ODDragAndDrop::GetDragReference
  11922. DragAndDrop::GetDragReference
  11923. DragAndDrop->GetDragReference
  11924. æT Class Method
  11925. æD DragReference GetDragReference();
  11926.  
  11927. æC Protection
  11928.     Public.  This is a Macintosh specific function that returns the paltform
  11929. specific DragReference associated with the current drag. 
  11930.  
  11931. Override policy
  11932.     Derived class cannot override.
  11933.     Derived class cannot call base class behavior, during derived class behavior.
  11934.  
  11935. Basic operation
  11936. This function returns the Drag Manager dragReference associated with
  11937. the current drag.  If no drag is under way, 0 is returned.  Parts
  11938. should use this function to enable direct calls to the Drag Manager
  11939. utilities to do window highliting.
  11940.  
  11941. Inputs
  11942. None
  11943.  
  11944. Outputs
  11945. DragReference
  11946.     Paltform specific drag reference number
  11947.  
  11948. Exceptions Signalled
  11949. None.
  11950.  
  11951. Pre conditions
  11952. A drag must be in progess.
  11953.  
  11954. Post conditions
  11955. None.
  11956.  
  11957. æKY ODDragAndDrop::InitDragAndDrop
  11958. DragAndDrop::InitDragAndDrop
  11959. DragAndDrop->InitDragAndDrop
  11960. æT Class Method
  11961. æD void InitDragAndDrop();
  11962.  
  11963. æC Protection
  11964.     Public.  This method should only be called by ODSession::InitSession.
  11965.  
  11966. Override policy
  11967.     Derived class cannot override.
  11968.     Derived class cannot call base class behavior, during derived class behavior.
  11969.  
  11970. Basic operation
  11971. It initializes all the required system services which include a drag
  11972. mechanism and a data transfer mechanism.
  11973.  
  11974. Inputs
  11975. None.
  11976.  
  11977. Outputs
  11978. None.
  11979.  
  11980. Exceptions Signalled
  11981. None.
  11982.  
  11983. Pre conditions
  11984. None.
  11985.  
  11986. Post conditions
  11987. this is an initialized ODDragAndDrop object.
  11988.  
  11989. æKY ODDragAndDrop::Purge
  11990. DragAndDrop::Purge
  11991. DragAndDrop->Purge
  11992. æT Class Method
  11993. æD ODSize Purge(
  11994. ODSize size);
  11995.  
  11996. æC Protection
  11997.     Public.  This method is only called by ODSession::Purge.
  11998.  
  11999. Override policy
  12000.     Derived class can override.
  12001.     Derived class can call base class behavior, during derived class behavior.
  12002.  
  12003. Basic operation
  12004. Purges all the ephemeral structures in this object.
  12005.  
  12006. Inputs
  12007. size
  12008.     Number of bytes to purge.
  12009.  
  12010. Outputs
  12011. <return>
  12012.     Number of bytes actually purged.
  12013.  
  12014. Exceptions Signalled
  12015. None.
  12016.  
  12017. Pre conditions
  12018. None.
  12019.  
  12020. Post conditions
  12021. None.
  12022.  
  12023. æKY ODDragAndDrop::ShowPasteAsDialog
  12024. DragAndDrop::ShowPasteAsDialog
  12025. DragAndDrop->ShowPasteAsDialog
  12026. æT Class Method
  12027. æD ODBoolean ShowPasteAsDialog(
  12028. ODBoolean canPasteLink,
  12029. ODPasteAsMergeSetting mergeSetting,
  12030. ODFacet* facet,
  12031. ODTypeToken viewType,
  12032. ODStorageUnit* contentSU,
  12033. ODPasteAsResult* result);
  12034.  
  12035. æC Protection
  12036.     Public.  
  12037.  
  12038. Override policy
  12039.     Derived class can override.
  12040.     Derived class can call base class behavior, during derived class behavior.
  12041.  
  12042. Basic operation
  12043. This function shows the Paste As Dialog and sets the appropriate
  12044. dialog items according to the input parameters.  If the function
  12045. returns kODFalse, that means the user cancels out of the dialog.
  12046. Otherwise, the output parameter result  shows what kind of action the
  12047. client of ShowPasteAsDialog should perform. 
  12048.  
  12049. Inputs
  12050. canPasteLink
  12051.     boolean showing a link can be pasted.
  12052. mergeSetting
  12053.     Specifies if merging and/or embedding is supported, and determines the
  12054. initial setting.
  12055. facet
  12056.     Facet from which the Paste As Dialog is triggered.
  12057. viewType
  12058.     View Type of the transfered data
  12059. contentSU
  12060.     The storage unit containing the content being dropped.
  12061.  
  12062. Outputs
  12063. <return>
  12064.     boolean showing whether the user clicks OK.
  12065. result
  12066.     Result reflecting the user 's choice.
  12067.  
  12068. Exceptions Signalled
  12069. None.
  12070.  
  12071. Pre conditions
  12072. None.
  12073.  
  12074. Post conditions
  12075. None.
  12076.  
  12077. æKY ODDragAndDrop::StartDrag
  12078. DragAndDrop::StartDrag
  12079. DragAndDrop->StartDrag
  12080. æT Class Method
  12081. æD ODDropResult StartDrag(
  12082. ODFrame* srcFrame,
  12083. ODValueType imageType,
  12084. ODByteArray* image,
  12085. ODPart** destPart,
  12086. ODByteArray* refCon);
  12087.  
  12088. æC Protection
  12089.     Public.  
  12090.  
  12091. Override policy
  12092.     Derived class cannot override.
  12093.     Derived class cannot call base class behavior, during derived class behavior.
  12094.  
  12095. Basic operation
  12096. This function initiates a drag. It shows the image supplied by the
  12097. caller and allows the user to drag this image on the screen. Whenever
  12098. the mouse passes over a Droppable Frame, it will notify the frame
  12099. about the mouse location and the mouse state. If a drop occurs over a
  12100. Droppable Frame, it will notify the frame. 
  12101. If the call is implemented synchronously, it will also return the
  12102. destination part.
  12103.  
  12104. Inputs
  12105. srcFrame
  12106.     Frame in which the drag is initiated.
  12107. imageType
  12108.     Type of the image being dragged.  
  12109. image
  12110.     Data of the image being dragged.
  12111. refCon
  12112.     Extra information needed for dragging (mainly for platform specific
  12113. data).
  12114.  
  12115. Outputs
  12116. <return>
  12117.     kDropSucceed means a drop is successful. kDropFail means the drop is
  12118. unsuccessful. kDropUnfinished means the drop is not completed yet.
  12119. destPart
  12120.     If kDropSucceed is returned as the function result, destPart contains
  12121. the destination part. Otherwise, the content of this parameter is
  12122. undefined.
  12123.  
  12124. Exceptions Signalled
  12125. None.
  12126.  
  12127. Pre conditions
  12128. ODStorageUnit must contain client data from the Part initiating the
  12129. drag.
  12130.  
  12131. Post conditions
  12132. None.
  12133.  
  12134.  
  12135. æKY ODDragItemIteratorHelp
  12136. ODDragItemIterator
  12137. DragItemIterator
  12138. æKL ODDragItemIterator::ODDragItemIterator
  12139. ODDragItemIterator::~ODDragItemIterator
  12140. ODDragItemIterator::First
  12141. ODDragItemIterator::IsNotComplete
  12142. ODDragItemIterator::Next
  12143. ODDragItemIterator::fDragItemListIter
  12144. æC Basic Class Documentation
  12145. ODDragItemIterator is a companion of ODDragAndDrop. Given the state of
  12146. the ODDragAndDrop object, ODDragItemIterator allows a Part to iterate
  12147. over all the ODStorageUnits in the drag  with a loop, using the
  12148. iterator's First(), Next() and IsNotComplete() methods. 
  12149. ODDragItemIterator is implemented together with ODDragAndDrop by
  12150. platform implementors.
  12151.  
  12152. Theory of Operation
  12153. Once a drag is initiated, the ODDragAndDrop object will notify a Frame
  12154. when the mouse passes over it. Besides the mouse location, the
  12155. ODDragAndDrop object also supplies the Part with a ODDragItemIterator.
  12156. If the mouse is released over a Frame, it will be notified of the
  12157. mouse location and be supplied with a ODDragItemIterator.  In both
  12158. cases, the Part can use it to iterate over all the Drag Items and
  12159. decide whether it can accept the Drop.
  12160.  
  12161. Invariants Maintained by Class
  12162. ODDragItemIterator maintains a reference to the list of drag items
  12163. registered with the ODDragAndDrop object.
  12164. æKY ODDragItemIterator::ODDragItemIterator
  12165. DragItemIterator::ODDragItemIterator
  12166. DragItemIterator->ODDragItemIterator
  12167. æT Class Method
  12168. æD ODDragItemIterator(
  12169. LinkedList* dragItemList);
  12170.  
  12171. æC Protection
  12172.     Public.  Private between ODDragItemIterator and ODDragAndDrop.
  12173.  
  12174. Override policy
  12175.     Derived class cannot override.
  12176.     Derived class cannot call base class behavior, during derived class behavior.
  12177.  
  12178. Basic operation
  12179. Constructs the iterator
  12180.  
  12181. Inputs
  12182. dragItemList
  12183.     The item list over which to iterate
  12184.  
  12185. Outputs
  12186. None
  12187.  
  12188. Exceptions Signalled
  12189. kODErrInvalidWindowState
  12190.     The specified window state is not valid.
  12191.  
  12192. Pre conditions
  12193. None.
  12194.  
  12195. Post conditions
  12196. A properly constructed drag item iterator.
  12197.  
  12198. æKY ODDragItemIterator::~ODDragItemIterator
  12199. DragItemIterator::~ODDragItemIterator
  12200. DragItemIterator->~ODDragItemIterator
  12201. æT Class Method
  12202. æD ~ODDragItemIterator();
  12203.  
  12204. æC Protection
  12205.     Public.  
  12206.  
  12207. Override policy
  12208.     Derived class cannot override.
  12209.     Derived class cannot call base class behavior, during derived class behavior.
  12210.  
  12211. Basic operation
  12212. Frees the memory allocated by this class.
  12213.  
  12214. Inputs
  12215. None
  12216.  
  12217. Outputs
  12218. None
  12219.  
  12220. Exceptions Signalled
  12221. None.
  12222.  
  12223. Pre conditions
  12224. A constructed object of this class.
  12225.  
  12226. Post conditions
  12227. The memory used by this class is freed.
  12228.  
  12229. æKY ODDragItemIterator::First
  12230. DragItemIterator::First
  12231. DragItemIterator->First
  12232. æT Class Method
  12233. æD ODStorageUnit* First();
  12234.  
  12235. æC Protection
  12236.     Public.  
  12237.  
  12238. Override policy
  12239.     Derived class can override.
  12240.     Derived class can call base class behavior, during derived class behavior.
  12241.  
  12242. Basic operation
  12243. Returns the first storage unit in the drag item list.
  12244.  
  12245. Inputs
  12246. None
  12247.  
  12248. Outputs
  12249. <return>
  12250.     The first storage unit in the drag item list. kODNULL if none.
  12251.  
  12252. Exceptions Signalled
  12253. None.
  12254.  
  12255. Pre conditions
  12256. A constructed object of this class.
  12257.  
  12258. Post conditions
  12259. Result contains the first storage unit.
  12260.  
  12261. æKY ODDragItemIterator::IsNotComplete
  12262. DragItemIterator::IsNotComplete
  12263. DragItemIterator->IsNotComplete
  12264. æT Class Method
  12265. æD ODBoolean IsNotComplete();
  12266.  
  12267. æC Protection
  12268.     Public.  
  12269.  
  12270. Override policy
  12271.     Derived class can override.
  12272.     Derived class can call base class behavior, during derived class behavior.
  12273.  
  12274. Basic operation
  12275. Returns kODTrue if there are more storage units, kODFalse otherwise.
  12276.  
  12277. Inputs
  12278. None
  12279.  
  12280. Outputs
  12281. <return>
  12282.     kODTrue, if there are more windows
  12283.  
  12284. Exceptions Signalled
  12285. None.
  12286.  
  12287. Pre conditions
  12288. A constructed object of this class.
  12289.  
  12290. Post conditions
  12291. Result contains kODTrue if there are more storage units, kODFalse
  12292. otherwise.
  12293.  
  12294. æKY ODDragItemIterator::Next
  12295. DragItemIterator::Next
  12296. DragItemIterator->Next
  12297. æT Class Method
  12298. æD ODStorageUnit* Next();
  12299.  
  12300. æC Protection
  12301.     Public.  
  12302.  
  12303. Override policy
  12304.     Derived class can override.
  12305.     Derived class can call base class behavior, during derived class behavior.
  12306.  
  12307. Basic operation
  12308. Returns the next storage unit in the drag item list.
  12309.  
  12310. Inputs
  12311. None
  12312.  
  12313. Outputs
  12314. <return>
  12315.     The next storage unit in the drag item list. kODNULL if none.
  12316.  
  12317. Exceptions Signalled
  12318. None.
  12319.  
  12320. Pre conditions
  12321. First() has been called.
  12322.  
  12323. Post conditions
  12324. Result contains the next storage unit.
  12325.  
  12326. æKY ODDragItemIterator::fDragItemListIter
  12327. DragItemIterator::fDragItemListIter
  12328. æT Class Field
  12329. æD LinkedListIterator *fDragItemListIter;
  12330. æC 
  12331.  
  12332. æKY ODEmbeddedFramesIteratorHelp
  12333. ODEmbeddedFramesIterator
  12334. EmbeddedFramesIterator
  12335. æKL ODEmbeddedFramesIterator::First
  12336. ODEmbeddedFramesIterator::IsNotComplete
  12337. ODEmbeddedFramesIterator::Next
  12338. æC Basic Class Documentation
  12339. An ODEmbeddedFramesIterator is used to iterate the embedded frames of
  12340. a containing part.
  12341. This class has no base class. It is typically  a friend of the part
  12342. class whose frames it iterates.
  12343. This class is implemented by a part developer along with a containing
  12344. part class.
  12345.  
  12346. ODEmbeddedFramesIterator instances are created by their containing
  12347. parts. A client calls ODPart::CreateEmbeddedFramesIterator to obtain
  12348. an iterator for a part's embedded frames.
  12349.  
  12350. Theory of Operation
  12351.  
  12352.  
  12353. Invariants Maintained by Class
  12354. Varies according to implementation.
  12355. æKY ODEmbeddedFramesIterator::First
  12356. EmbeddedFramesIterator::First
  12357. EmbeddedFramesIterator->First
  12358. æT Class Method
  12359. æD ODFrame* First();
  12360.  
  12361. æC Protection
  12362.     Public.  
  12363.  
  12364. Override policy
  12365.     Derived class can override.
  12366.     Derived class can call base class behavior, during derived class behavior.
  12367.  
  12368. Basic operation
  12369. Initialize the iteration sequence and return the first embedded frame
  12370. of my part.
  12371.  
  12372. Inputs
  12373. None.
  12374.  
  12375. Outputs
  12376. <return>
  12377.     The first embedded frame of my part.
  12378.  
  12379. Exceptions Signalled
  12380. None.
  12381.  
  12382. Pre conditions
  12383. None.
  12384.  
  12385. Post conditions
  12386. None.
  12387.  
  12388. æKY ODEmbeddedFramesIterator::IsNotComplete
  12389. EmbeddedFramesIterator::IsNotComplete
  12390. EmbeddedFramesIterator->IsNotComplete
  12391. æT Class Method
  12392. æD ODBoolean IsNotComplete();
  12393.  
  12394. æC Protection
  12395.     Public.  
  12396.  
  12397. Override policy
  12398.     Derived class can override.
  12399.     Derived class can call base class behavior, during derived class behavior.
  12400.  
  12401. Basic operation
  12402. Answer whether there are more frames left in the iteration sequence.
  12403.  
  12404. Inputs
  12405. None.
  12406.  
  12407. Outputs
  12408. <return>
  12409.     A boolean reflecting whether to continue the iteration.
  12410.  
  12411. Exceptions Signalled
  12412. None.
  12413.  
  12414. Pre conditions
  12415. None.
  12416.  
  12417. Post conditions
  12418. None.
  12419.  
  12420. æKY ODEmbeddedFramesIterator::Next
  12421. EmbeddedFramesIterator::Next
  12422. EmbeddedFramesIterator->Next
  12423. æT Class Method
  12424. æD ODFrame* Next();
  12425.  
  12426. æC Protection
  12427.     Public.  
  12428.  
  12429. Override policy
  12430.     Derived class can override.
  12431.     Derived class can call base class behavior, during derived class behavior.
  12432.  
  12433. Basic operation
  12434. Return the next embedded frame in the iteration sequence.
  12435.  
  12436. Inputs
  12437. None.
  12438.  
  12439. Outputs
  12440. <return>
  12441.     The next embedded frame of my part.
  12442.  
  12443. Exceptions Signalled
  12444. None.
  12445.  
  12446. Pre conditions
  12447. First() must have been previously called.
  12448. IsNotComplete() must return kODTrue.
  12449.  
  12450. Post conditions
  12451. Iteration sequence is advanced to next frame.
  12452.  
  12453.  
  12454. æKY ODExtensionHelp
  12455. ODExtension
  12456. Extension
  12457. æKL ODExtension::ODExtension
  12458. ODExtension::~ODExtension
  12459. ODExtension::BaseRemoved
  12460. ODExtension::CheckValid
  12461. ODExtension::GetBase
  12462. ODExtension::InitExtension
  12463. ODExtension::IsValid
  12464. ODExtension::Release
  12465. ODExtension::fBase
  12466. æC Basic Class Documentation
  12467. ODExtension is the abstract base class from which object extension
  12468. interfaces are derived.  The base class itself has minimal behavior. 
  12469. It knows which object it is an extension of, and how to release
  12470. resources in itself and in its object.  Further behavior should be
  12471. implemented in derived classes.
  12472. This class has no base class. Extensions will typically share
  12473. friendship with their base object class.
  12474. Both platform vendors and part developers will use extensions to
  12475. extend standard interfaces.
  12476.  
  12477. Theory of Operation
  12478. ODExtension is the abstract base class from which object extension
  12479. interfaces are derived.  The base class itself has minimal behavior. 
  12480. It knows which object it is an extension of, and how to release
  12481. resources in itself and in its object.  Further behavior should be
  12482. implemented in derived classes.
  12483.  
  12484. Invariants Maintained by Class
  12485. fBase contains a valid base object for this extension.
  12486. æKY ODExtension::ODExtension
  12487. Extension::ODExtension
  12488. Extension->ODExtension
  12489. æT Class Method
  12490. æD ODExtension(
  12491. ODObject* base);
  12492.  
  12493. æC Protection
  12494.     Protected.  
  12495.  
  12496. Override policy
  12497.     Derived class cannot override.
  12498.     Derived class cannot call base class behavior, during derived class behavior.
  12499.  
  12500. Basic operation
  12501. Construct a new extension instance.
  12502.  
  12503. Inputs
  12504. base
  12505.     The base object for this extension.
  12506.  
  12507. Outputs
  12508. None.
  12509.  
  12510. Exceptions Signalled
  12511. None.
  12512.  
  12513. Pre conditions
  12514. None.
  12515.  
  12516. Post conditions
  12517. fBase holds base object for this extension.
  12518.  
  12519. æKY ODExtension::~ODExtension
  12520. Extension::~ODExtension
  12521. Extension->~ODExtension
  12522. æT Class Method
  12523. æD ~ODExtension();
  12524.  
  12525. æC Protection
  12526.     Protected.  
  12527.  
  12528. Override policy
  12529.     Derived class cannot override.
  12530.     Derived class cannot call base class behavior, during derived class behavior.
  12531.  
  12532. Basic operation
  12533. Deallocate this instance and its storage.
  12534.  
  12535. Inputs
  12536. None.
  12537.  
  12538. Outputs
  12539. None.
  12540.  
  12541. Exceptions Signalled
  12542. None.
  12543.  
  12544. Pre conditions
  12545. This instance must have been previously "released".
  12546.  
  12547. Post conditions
  12548. This instance is no longer usable by clients.
  12549.  
  12550. æKY ODExtension::BaseRemoved
  12551. Extension::BaseRemoved
  12552. Extension->BaseRemoved
  12553. æT Class Method
  12554. æD ;
  12555.  
  12556. æC Protection
  12557.     Public.  
  12558.  
  12559. Override policy
  12560.     Derived class can override.
  12561.     Derived class must call base class behavior, during derived class behavior.
  12562.  
  12563. Basic operation
  12564. This method notifies the extension object that it's base object has
  12565. been removed.  The extension should no longer attempt to communicate
  12566. with the base object.  Any pointers which the extension object had
  12567. back to the base object should be considered invalid.  After this call
  12568. the extension is invalid.
  12569.  
  12570. Inputs
  12571. None.
  12572.  
  12573. Outputs
  12574. None.
  12575.  
  12576. Exceptions Signalled
  12577. None.
  12578.  
  12579. Pre conditions
  12580. The extension object has a valid base.
  12581.  
  12582. Post conditions
  12583. The extension object no longer has a base and is therefore invalid.
  12584.  
  12585. æKY ODExtension::CheckValid
  12586. Extension::CheckValid
  12587. Extension->CheckValid
  12588. æT Class Method
  12589. æD void CheckValid();
  12590.  
  12591. æC Protection
  12592.     Public.  
  12593.  
  12594. Override policy
  12595.     Derived class can override.
  12596.     Derived class can call base class behavior, before derived class behavior.
  12597.  
  12598. Basic operation
  12599. Every subclass of extension must call this ODExtension method at the
  12600. beginning of the implementation of each of their new methods (aside
  12601. from the Init… method).  This method does nothing if the extension
  12602. object is valid.  If the extension object is invalid, then an error is
  12603. generated.
  12604.  
  12605. Inputs
  12606. None.
  12607.  
  12608. Outputs
  12609. None.
  12610.  
  12611. Exceptions Signalled
  12612. kODErrInvalidExtension
  12613.     This is an invalid extension and should not be used by any clients. 
  12614. The client should attempt to get the extension from the same base
  12615. object she got it from before.
  12616.  
  12617. Pre conditions
  12618. None.
  12619.  
  12620. Post conditions
  12621. None.
  12622.  
  12623. æKY ODExtension::GetBase
  12624. Extension::GetBase
  12625. Extension->GetBase
  12626. æT Class Method
  12627. æD ODObject* GetBase();
  12628.  
  12629. æC Protection
  12630.     Public.  
  12631.  
  12632. Override policy
  12633.     Derived class can override.
  12634.     Derived class can call base class behavior, during derived class behavior.
  12635.  
  12636. Basic operation
  12637. Return the object of which this instance is an extension.
  12638.  
  12639. Inputs
  12640. None.
  12641.  
  12642. Outputs
  12643. <return>
  12644.     The base of this extension.
  12645.  
  12646. Exceptions Signalled
  12647. None.
  12648.  
  12649. Pre conditions
  12650. None.
  12651.  
  12652. Post conditions
  12653. None.
  12654.  
  12655. æKY ODExtension::InitExtension
  12656. Extension::InitExtension
  12657. Extension->InitExtension
  12658. æT Class Method
  12659. æD void InitExtension(
  12660. ODObject* base);
  12661.  
  12662. æC Protection
  12663.     Protected.  
  12664.  
  12665. Override policy
  12666.     Derived class must override.
  12667.     Derived class must call base class behavior, before derived class behavior.
  12668.  
  12669. Basic operation
  12670. Prepare this object for use.
  12671.  
  12672. Inputs
  12673. None.
  12674.  
  12675. Outputs
  12676. None.
  12677.  
  12678. Exceptions Signalled
  12679. None.
  12680.  
  12681. Pre conditions
  12682. fBase is a valid base object
  12683.  
  12684. Post conditions
  12685. This object is ready for use by clients.
  12686.  
  12687. æKY ODExtension::IsValid
  12688. Extension::IsValid
  12689. Extension->IsValid
  12690. æT Class Method
  12691. æD ODBoolean IsValid();
  12692.  
  12693. æC Protection
  12694.     Public.  
  12695.  
  12696. Override policy
  12697.     Derived class can override.
  12698.     Derived class can call base class behavior, before derived class behavior.
  12699.  
  12700. Basic operation
  12701. This method can be used by a client of an extension object to verify
  12702. whether or not the extension object is still valid.  An extension
  12703. becomes invalid when its base object is removed.
  12704.  
  12705. Inputs
  12706. None.
  12707.  
  12708. Outputs
  12709. <return>
  12710.     Whether or not the extension object is valid.
  12711.  
  12712. Exceptions Signalled
  12713. None.
  12714.  
  12715. Pre conditions
  12716. None.
  12717.  
  12718. Post conditions
  12719. None.
  12720.  
  12721. æKY ODExtension::Release
  12722. Extension::Release
  12723. Extension->Release
  12724. æT Class Method
  12725. æD void Release();
  12726.  
  12727. æC Protection
  12728.     Public.  
  12729.  
  12730. Override policy
  12731.     Derived class must override.
  12732.     Derived class cannot call base class behavior, during derived class behavior.
  12733.  
  12734. Basic operation
  12735. Tell my base object to release connection to me. Prepare to be
  12736. deleted.
  12737.  
  12738. Inputs
  12739. None.
  12740.  
  12741. Outputs
  12742. None.
  12743.  
  12744. Exceptions Signalled
  12745. kODErrInvalidBase
  12746.     Not a valid base object.
  12747.  
  12748. Pre conditions
  12749. fBase is a valid base object.
  12750.  
  12751. Post conditions
  12752. This extension is no longer usable.
  12753.  
  12754. æKY ODExtension::fBase
  12755. Extension::fBase
  12756. æT Class Field
  12757. æD ODObject*
  12758. æC 
  12759.  
  12760. æKY ODFacetHelp
  12761. ODFacet
  12762. Facet
  12763. æKL ODFacet::ODFacet
  12764. ODFacet::~ODFacet
  12765. ODFacet::ActiveBorderContainsPoint
  12766. ODFacet::ChangeActiveShape
  12767. ODFacet::ChangeGeometry
  12768. ODFacet::ChangeHighlight
  12769. ODFacet::ContainsPoint
  12770. ODFacet::CreateCanvas
  12771. ODFacet::CreateEmbeddedFacet
  12772. ODFacet::CreateFacetIterator
  12773. ODFacet::CreateShape
  12774. ODFacet::CreateTransform
  12775. ODFacet::DragEnter
  12776. ODFacet::DragLeave
  12777. ODFacet::DragWithin
  12778. ODFacet::Draw
  12779. ODFacet::DrawActiveBorder
  12780. ODFacet::DrawChildren
  12781. ODFacet::DrawChildrenAlways
  12782. ODFacet::DrawnIn
  12783. ODFacet::Drop
  12784. ODFacet::GetActiveShape
  12785. ODFacet::GetAggregateClipShape
  12786. ODFacet::GetCanvas
  12787. ODFacet::GetClipShape
  12788. ODFacet::GetContainingFacet
  12789. ODFacet::GetContentTransform
  12790. ODFacet::GetExternalTransform
  12791. ODFacet::GetFrame
  12792. ODFacet::GetFrameTransform
  12793. ODFacet::GetHighlight
  12794. ODFacet::GetNode
  12795. ODFacet::GetPartInfo
  12796. ODFacet::GetWindow
  12797. ODFacet::GetWindowAggregateClipShape
  12798. ODFacet::GetWindowContentTransform
  12799. ODFacet::GetWindowFrameTransform
  12800. ODFacet::HasCanvas
  12801. ODFacet::InitChildFacet
  12802. ODFacet::InitFacet
  12803. ODFacet::InternalTransformChanged
  12804. ODFacet::Invalidate
  12805. ODFacet::InvalidateActiveBorder
  12806. ODFacet::InvalidateAggregateClipShape
  12807. ODFacet::InvalidateAggregateTransforms
  12808. ODFacet::IsSelected
  12809. ODFacet::MouseEnter
  12810. ODFacet::MouseLeave
  12811. ODFacet::MouseWithin
  12812. ODFacet::MoveBefore
  12813. ODFacet::MoveBehind
  12814. ODFacet::NeedsUpdate
  12815. ODFacet::Purge
  12816. ODFacet::RemoveFacet
  12817. ODFacet::SetCanvas
  12818. ODFacet::SetNeedsUpdate
  12819. ODFacet::SetPartInfo
  12820. ODFacet::SetSelected
  12821. ODFacet::Update
  12822. ODFacet::Validate
  12823. ODFacet::fActiveShape
  12824. ODFacet::fAggregateClipShape
  12825. ODFacet::fCanvas
  12826. ODFacet::fClipShape
  12827. ODFacet::fContentTransform
  12828. ODFacet::fExternalTransform
  12829. ODFacet::fFrame
  12830. ODFacet::fFrameTransform
  12831. ODFacet::fHighlight
  12832. ODFacet::fIsSelected
  12833. ODFacet::fNeedsUpdate
  12834. ODFacet::fNode
  12835. ODFacet::fPartInfo
  12836. ODFacet::fWindowAggregateClipShape
  12837. ODFacet::fWindowContentTransform
  12838. ODFacet::fWindowFrameTransform
  12839. æC Basic Class Documentation
  12840. Ancestors: ODFacet -> ODObject
  12841.  
  12842. Part developers will not subclass ODFacet. Platform implementors can
  12843. subclass if needed, but that should not normally be necessary.
  12844.  
  12845. ODFacet objects hold non-persistent information about the layout of a
  12846. document. They are used to place a frame on a canvas for display and
  12847. event dispatching. There will be one facet for each place a frame is
  12848. visible in a window. Facets may exist for frames which have been
  12849. previously visible, such as those that have been scrolled out of view,
  12850. or may be eagerly created for frames which are expected to become
  12851. visible soon. Facets which are not currently visible in a window are
  12852. liable to be purged from memory in a low-memory condition.
  12853.  
  12854. Parts create facets for each place they display an embedded frame. In
  12855. most cases, a containing part will only have one facet for an embedded
  12856. frame in each facet of the containing part's display frame. But in
  12857. some cases, a containing part will want to display the same embedded
  12858. frame in several places. This can easily be accomplished by creating
  12859. one facet for each place the containing part wants to display the
  12860. embedded frame.
  12861.  
  12862. Facets are organized hierarchically. There is one root facet for each
  12863. window or printing page, and all other facets in that window descend
  12864. from it. All facets for the same frame must be contained within facets
  12865. of their frame's containing frame.
  12866.  
  12867. There can be mulitple facets displaying the same frame. All parts
  12868. should support multiple facets on a frame. In most cases all facets on
  12869. the same frame will display their contents identically. For cases
  12870. where the part wishes to display facets differently, it may store
  12871. "partInfo" data in the facets to distinguish them.
  12872.  
  12873. A facet holds some extra information about the geometry of its frame.
  12874. In addition to the frame's own frame shape, it also maintains a clip
  12875. shape and an active shape. The clip shape describes the area in which
  12876. the facet's part may display itself; it is controlled by the
  12877. containing part. The active shape describes where the facet's part is
  12878. sensitive to geometry-based UI events such as mouse clicks. The
  12879. embedded part controls the active shape. Both shapes are represented
  12880. in the frame's coordinate space. A facet also has an external
  12881. transform, which describes where it is located within its containing
  12882. part's coordinate space.
  12883.  
  12884. Any facet can have its own canvas. In that case, the facet and all its
  12885. children will display themselves on that canvas. This can be used to
  12886. do off-screen double-buffering, image combination, etc. Either the
  12887. facet's part or the facet's containing part can decide to move the
  12888. facet to its own canvas. Whichever part makes the decision must create
  12889. the canvas and register as its owner. That part is then responsible
  12890. for moving the data from the facet's canvas to the parent canvas.
  12891.  
  12892. A facet maintains some extra state information used for display and
  12893. event dispatching. The "isSelected" flag indicates whether the facet
  12894. is selected, so the dispatcher can determine whether to dispatch
  12895. events into it. The "highlight" field indicates if the facet is part
  12896. of a larger selection, and if so how its part needs to alter its
  12897. imaging for selection highlighting.
  12898.  
  12899. Facets can be thought of as describing the layout environment of a
  12900. frame. Since a facet can exist simultaneously in both a window and an
  12901. offscreen canvas, there are sometimes two environments to consider.
  12902. The aggregate clip shape and aggregate transforms are both
  12903. distinguished by which environment, canvas or window, the part wants
  12904. to display in. In most cases, the part will display in the canvas
  12905. environment. But for real-time interaction like rubber-banding or
  12906. dragging, the part may want to display directly in the window. In
  12907. those cases, it should use the aggregates for the window environment.
  12908.  
  12909. Theory of Operation
  12910.  
  12911.  
  12912. Invariants Maintained by Class
  12913. An ODFacet object always has a frame, and that frame cannot be changed
  12914. during the lifetime of the facet. The clip shape and external
  12915. transform must always be valid. Only the root facet of a window may
  12916. have its window field set. Non-root facets must have a containing
  12917. facet.
  12918. æKY ODFacet::ODFacet
  12919. Facet::ODFacet
  12920. Facet->ODFacet
  12921. æT Class Method
  12922. æD ODFacet();
  12923.  
  12924. æC Protection
  12925.     Public.  
  12926.  
  12927. Override policy
  12928.     Derived class must override.
  12929.     Derived class must call base class behavior, before derived class behavior.
  12930.  
  12931. Basic operation
  12932. Class constructor.
  12933.  
  12934. Inputs
  12935. None.
  12936.  
  12937. Outputs
  12938. None.
  12939.  
  12940. Exceptions Signalled
  12941. None.
  12942.  
  12943. Pre conditions
  12944. None.
  12945.  
  12946. Post conditions
  12947. Must call InitFacet before returned instance is ready to use.
  12948.  
  12949. æKY ODFacet::~ODFacet
  12950. Facet::~ODFacet
  12951. Facet->~ODFacet
  12952. æT Class Method
  12953. æD ~ODFacet();
  12954.  
  12955. æC Protection
  12956.     Public.  
  12957.  
  12958. Override policy
  12959.     Derived class must override.
  12960.     Derived class must call base class behavior, after derived class behavior.
  12961.  
  12962. Basic operation
  12963. Class destructor.
  12964.  
  12965. Inputs
  12966. None.
  12967.  
  12968. Outputs
  12969. None.
  12970.  
  12971. Exceptions Signalled
  12972. None.
  12973.  
  12974. Pre conditions
  12975. None.
  12976.  
  12977. Post conditions
  12978. None.
  12979.  
  12980. æKY ODFacet::ActiveBorderContainsPoint
  12981. Facet::ActiveBorderContainsPoint
  12982. Facet->ActiveBorderContainsPoint
  12983. æT Class Method
  12984. æD ODBoolean ActiveBorderContainsPoint(
  12985. ODPoint point,
  12986. ODCanvas* biasCanvas);
  12987.  
  12988. æC Protection
  12989.     Public.  
  12990.  
  12991. Override policy
  12992.     Derived class can override.
  12993.     Derived class can call base class behavior, during derived class behavior.
  12994.  
  12995. Basic operation
  12996. Return whether the point is within the active border adornment for
  12997. this facet.
  12998.  
  12999. Inputs
  13000. point
  13001.     The location to test. In window coordinates.
  13002. biasCanvas
  13003.     The canvas to whose coordinate space the call is biased. May be
  13004. kODNULL if the geometry is in the standard platform coordinate bias.
  13005.  
  13006. Outputs
  13007. <return>
  13008.     True if the point is within the facet's border shape, false otherwise.
  13009.  
  13010. Exceptions Signalled
  13011. None.
  13012.  
  13013. Pre conditions
  13014. None.
  13015.  
  13016. Post conditions
  13017. None.
  13018.  
  13019. æKY ODFacet::ChangeActiveShape
  13020. Facet::ChangeActiveShape
  13021. Facet->ChangeActiveShape
  13022. æT Class Method
  13023. æD void ChangeActiveShape(
  13024. ODShape* activeShape,
  13025. ODCanvas* biasCanvas);
  13026.  
  13027. æC Protection
  13028.     Public.  
  13029.  
  13030. Override policy
  13031.     Derived class can override.
  13032.     Derived class can call base class behavior, during derived class behavior.
  13033.  
  13034. Basic operation
  13035. Set the facet's active shape, and notify UI subsystem dependents. Only
  13036. the facet's part should change its active shape.
  13037.  
  13038. Inputs
  13039. activeShape
  13040.     The new active shape for the facet.
  13041. biasCanvas
  13042.     The canvas to whose coordinate space the call is biased. May be
  13043. kODNULL if the geometry is in the standard platform coordinate bias.
  13044.  
  13045. Outputs
  13046. None.
  13047.  
  13048. Exceptions Signalled
  13049. None.
  13050.  
  13051. Pre conditions
  13052. None.
  13053.  
  13054. Post conditions
  13055. None.
  13056.  
  13057. æKY ODFacet::ChangeGeometry
  13058. Facet::ChangeGeometry
  13059. Facet->ChangeGeometry
  13060. æT Class Method
  13061. æD void ChangeGeometry(
  13062. ODShape* clipShape,
  13063. ODTransform* transform,
  13064. ODCanvas* biasCanvas);
  13065.  
  13066. æC Protection
  13067.     Public.  Called by containing part.
  13068.  
  13069. Override policy
  13070.     Derived class can override.
  13071.     Derived class can call base class behavior, during derived class behavior.
  13072.  
  13073. Basic operation
  13074. Set the facet's clip shape and/or its externalTransform, and notify
  13075. the facet's part of the change via Part::GeometryChanged(). Invalidate
  13076. any cached aggregate clip shape and transforms. Only the facet's
  13077. containing part (or window) should change its geometry.
  13078.  
  13079. Inputs
  13080. clipShape
  13081.     The new clip shape for the facet.
  13082. transform
  13083.     The new external transform for the facet.
  13084. biasCanvas
  13085.     The canvas to whose coordinate space the call is biased. May be
  13086. kODNULL if the geometry is in the standard platform coordinate bias.
  13087.  
  13088. Outputs
  13089. None.
  13090.  
  13091. Exceptions Signalled
  13092. None.
  13093.  
  13094. Pre conditions
  13095. None.
  13096.  
  13097. Post conditions
  13098. None.
  13099.  
  13100. æKY ODFacet::ChangeHighlight
  13101. Facet::ChangeHighlight
  13102. Facet->ChangeHighlight
  13103. æT Class Method
  13104. æD void ChangeHighlight(
  13105. ODHighlight highlight);
  13106.  
  13107. æC Protection
  13108.     Public.  
  13109.  
  13110. Override policy
  13111.     Derived class can override.
  13112.     Derived class can call base class behavior, during derived class behavior.
  13113.  
  13114. Basic operation
  13115. Set the highlight state of this facet, and notify its part via
  13116. Part::HighlightChanged().
  13117.  
  13118. Inputs
  13119. highlight
  13120.     The new highlight state of the facet. One of kODNoHighlight,
  13121. kODFullHighlight, kODDimHighlight.
  13122.  
  13123. Outputs
  13124. None.
  13125.  
  13126. Exceptions Signalled
  13127. None.
  13128.  
  13129. Pre conditions
  13130. None.
  13131.  
  13132. Post conditions
  13133. None.
  13134.  
  13135. æKY ODFacet::ContainsPoint
  13136. Facet::ContainsPoint
  13137. Facet->ContainsPoint
  13138. æT Class Method
  13139. æD ODBoolean ContainsPoint(
  13140. ODPoint point,
  13141. ODCanvas* biasCanvas);
  13142.  
  13143. æC Protection
  13144.     Public.  
  13145.  
  13146. Override policy
  13147.     Derived class can override.
  13148.     Derived class can call base class behavior, during derived class behavior.
  13149.  
  13150. Basic operation
  13151. Return whether the point is within the facet. Transform the point to
  13152. frame coordinates and test versus the intersection of the clip and
  13153. active shapes.
  13154.  
  13155. Inputs
  13156. point
  13157.     The location to test. In window coordinates.
  13158. biasCanvas
  13159.     The canvas to whose coordinate space the call is biased. May be
  13160. kODNULL if the geometry is in the standard platform coordinate bias.
  13161.  
  13162. Outputs
  13163. <return>
  13164.     True if the point is within the facet's shape, false otherwise.
  13165.  
  13166. Exceptions Signalled
  13167. None.
  13168.  
  13169. Pre conditions
  13170. None.
  13171.  
  13172. Post conditions
  13173. None.
  13174.  
  13175. æKY ODFacet::CreateCanvas
  13176. Facet::CreateCanvas
  13177. Facet->CreateCanvas
  13178. æT Class Method
  13179. æD ODCanvas* CreateCanvas(
  13180. ODGraphicsSystem graphicsSystem,
  13181. ODPlatformCanvas platformCanvas,
  13182. ODBoolean isDynamic,
  13183. ODBoolean isOffscreen);
  13184.  
  13185. æC Protection
  13186.     Public.  Called by parts to create new canvas objects.
  13187.  
  13188. Override policy
  13189.     Derived class can override.
  13190.     Derived class can call base class behavior, during derived class behavior.
  13191.  
  13192. Basic operation
  13193. This method is used by parts to obtain new canvas instances.
  13194.  
  13195. Inputs
  13196. graphicsSystem
  13197.     graphicsSystem for the new canvas.
  13198. platformCanvas
  13199.     platformCanvas of the new canvas.
  13200. isDynamic
  13201.     isDynamic setting of the new canvas
  13202. isOffscreen
  13203.     isOffscreen setting of the new canvas
  13204.  
  13205. Outputs
  13206. <return>
  13207.     The new canvas instance.
  13208.  
  13209. Exceptions Signalled
  13210. None.
  13211.  
  13212. Pre conditions
  13213. None.
  13214.  
  13215. Post conditions
  13216. None.
  13217.  
  13218. æKY ODFacet::CreateEmbeddedFacet
  13219. Facet::CreateEmbeddedFacet
  13220. Facet->CreateEmbeddedFacet
  13221. æT Class Method
  13222. æD ODFacet* CreateEmbeddedFacet(
  13223. ODFrame* frame,
  13224. ODShape* clipShape,
  13225. ODTransform* externalTransform,
  13226. ODCanvas* canvas,
  13227. ODCanvas* biasCanvas,
  13228. ODFacet* siblingFacet,
  13229. ODFramePosition position);
  13230.  
  13231. æC Protection
  13232.     Public.  
  13233.  
  13234. Override policy
  13235.     Derived class can override.
  13236.     Derived class can call base class behavior, during derived class behavior.
  13237.  
  13238. Basic operation
  13239. Asks a facet to create an embedded facet. This should be requested by
  13240. the facet's part when it needs to create a facet for one of its
  13241. embedded frames. The new facet's part will be notified that a new
  13242. facet has been added to its frame [ODPart::FacetAdded(facet)].
  13243.  
  13244. Inputs
  13245. frame
  13246.     The frame the new facet will display.
  13247. clipShape
  13248.     The initial clip shape for the new facet.
  13249. externalTransform
  13250.     The initial external transform for the new facet.
  13251. siblingFacet
  13252.     An existing child facet of the receiver. May be kODNULL.
  13253. position
  13254.     The desired position of the new facet relative to the siblingFacet.
  13255. Legal values are kODFrameBehind or kODFrameInFront. If siblingFacet is
  13256. kODNULL, the new facet will be placed at the front or back of all
  13257. siblings.
  13258. canvas
  13259.     The canvas the facet should display on, as provided by the containing
  13260. part. May be kODNULL if it is the same as that of the containing
  13261. facet.
  13262. biasCanvas
  13263.     The canvas to whose coordinate space the call is biased. May be
  13264. kODNULL if the geometry is in the standard platform coordinate bias.
  13265.  
  13266. Outputs
  13267. <return>
  13268.     The new facet.
  13269.  
  13270. Exceptions Signalled
  13271. kODInvalidFacet
  13272.     "siblingFacet" is not a child of the receiver.
  13273. kODErrInvalidPositionCode
  13274.     "position" is not a valid position code.
  13275.  
  13276. Pre conditions
  13277. The receiving facet is a facet of the containingFrame of the "frame"
  13278. parameter. "siblingFacet" is a child facet of the receiving facet.
  13279.  
  13280. Post conditions
  13281. The returned facet is a child facet of the receiving facet, with
  13282. clipShape and externalTransform set to the indicated values.
  13283.  
  13284. æKY ODFacet::CreateFacetIterator
  13285. Facet::CreateFacetIterator
  13286. Facet->CreateFacetIterator
  13287. æT Class Method
  13288. æD ODFacetIterator* CreateFacetIterator(
  13289. ODTraversalType traversalType,
  13290. ODSiblingOrder siblingOrder);
  13291.  
  13292. æC Protection
  13293.     Public.  
  13294.  
  13295. Override policy
  13296.     Derived class can override.
  13297.     Derived class can call base class behavior, during derived class behavior.
  13298.  
  13299. Basic operation
  13300. Create an iterator for the children facet of the receiver. It is the
  13301. caller's responsibility to delete the iterator when done using it. The
  13302. iterator can be used to walk the entire tree of facets from the
  13303. receiver on down, or just the receiver's immediate children.
  13304.  
  13305. Inputs
  13306. traversalType
  13307.     may be kODTopDown, kODBottomUp, or kODChildrenOnly. The first two
  13308. include the receiver in the traversal.
  13309. siblingOrder
  13310.     May be kODFrontToBack or kODBackToFront. Controls the order in which
  13311. facets are visited during traversal.
  13312.  
  13313. Outputs
  13314. <return>
  13315.     The new iterator. Caller assumes responsibility for memory.
  13316.  
  13317. Exceptions Signalled
  13318. None.
  13319.  
  13320. Pre conditions
  13321. None.
  13322.  
  13323. Post conditions
  13324. New iterator has been created and is ready to use.
  13325.  
  13326. æKY ODFacet::CreateShape
  13327. Facet::CreateShape
  13328. Facet->CreateShape
  13329. æT Class Method
  13330. æD ODShape* CreateShape();
  13331.  
  13332. æC Protection
  13333.     Public.  Called by parts to create new shape objects.
  13334.  
  13335. Override policy
  13336.     Derived class can override.
  13337.     Derived class can call base class behavior, during derived class behavior.
  13338.  
  13339. Basic operation
  13340. This method is called by parts to obtain new shape instances.
  13341.  
  13342. Inputs
  13343. None.
  13344.  
  13345. Outputs
  13346. <return>
  13347.     The new shape object.
  13348.  
  13349. Exceptions Signalled
  13350. None.
  13351.  
  13352. Pre conditions
  13353. None.
  13354.  
  13355. Post conditions
  13356. None.
  13357.  
  13358. æKY ODFacet::CreateTransform
  13359. Facet::CreateTransform
  13360. Facet->CreateTransform
  13361. æT Class Method
  13362. æD ODShape* CreateTransform();
  13363.  
  13364. æC Protection
  13365.     Public.  Called by parts to create new transform objects.
  13366.  
  13367. Override policy
  13368.     Derived class can override.
  13369.     Derived class can call base class behavior, during derived class behavior.
  13370.  
  13371. Basic operation
  13372. This method is called by parts to obtain new transform instances.
  13373.  
  13374. Inputs
  13375. None.
  13376.  
  13377. Outputs
  13378. <return>
  13379.     The new transform object.
  13380.  
  13381. Exceptions Signalled
  13382. None.
  13383.  
  13384. Pre conditions
  13385. None.
  13386.  
  13387. Post conditions
  13388. None.
  13389.  
  13390. æKY ODFacet::DragEnter
  13391. Facet::DragEnter
  13392. Facet->DragEnter
  13393. æT Class Method
  13394. æD void DragEnter(
  13395. ODPoint point,
  13396. ODDragItemIterator* dragInfo,
  13397. ODCanvas* biasCanvas);
  13398.  
  13399. æC Protection
  13400.     Public.  
  13401.  
  13402. Override policy
  13403.     Derived class can override.
  13404.     Derived class can call base class behavior, during derived class behavior.
  13405.  
  13406. Basic operation
  13407. Begin a drag operation in the facet. The facet will transform the
  13408. point into frame coordinates and notify its part via
  13409. Part::DragEnter(). The dispatcher will only make this call if the
  13410. facet's frame's "isDroppable" flag is set.
  13411.  
  13412. Inputs
  13413. point
  13414.     The location in window coordinates the mouse entered this facet.
  13415. dragInfo
  13416.     The items being dragged.
  13417. biasCanvas
  13418.     The canvas to whose coordinate space the call is biased. May be
  13419. kODNULL if the geometry is in the standard platform coordinate bias.
  13420.  
  13421. Outputs
  13422. None.
  13423.  
  13424. Exceptions Signalled
  13425. None.
  13426.  
  13427. Pre conditions
  13428. None.
  13429.  
  13430. Post conditions
  13431. None.
  13432.  
  13433. æKY ODFacet::DragLeave
  13434. Facet::DragLeave
  13435. Facet->DragLeave
  13436. æT Class Method
  13437. æD void DragLeave(
  13438. ODPoint point,
  13439. ODCanvas* biasCanvas);
  13440.  
  13441. æC Protection
  13442.     Public.  
  13443.  
  13444. Override policy
  13445.     Derived class can override.
  13446.     Derived class can call base class behavior, during derived class behavior.
  13447.  
  13448. Basic operation
  13449. Finish a drag operation in the facet. The facet will transform the
  13450. point into frame coordinates and notify its part via
  13451. Part::DragLeave(). The dispatcher will only make this call if the
  13452. facet's frame's "isDroppable" flag is set.
  13453.  
  13454. Inputs
  13455. point
  13456.     The location in window coordinates where the mouse left the facet.
  13457. biasCanvas
  13458.     The canvas to whose coordinate space the call is biased. May be
  13459. kODNULL if the geometry is in the standard platform coordinate bias.
  13460.  
  13461. Outputs
  13462. None.
  13463.  
  13464. Exceptions Signalled
  13465. None.
  13466.  
  13467. Pre conditions
  13468. None.
  13469.  
  13470. Post conditions
  13471. None.
  13472.  
  13473. æKY ODFacet::DragWithin
  13474. Facet::DragWithin
  13475. Facet->DragWithin
  13476. æT Class Method
  13477. æD void DragWithin(
  13478. ODPoint point,
  13479. ODDragItemIterator* dragInfo,
  13480. ODCanvas* biasCanvas);
  13481.  
  13482. æC Protection
  13483.     Public.  
  13484.  
  13485. Override policy
  13486.     Derived class can override.
  13487.     Derived class can call base class behavior, during derived class behavior.
  13488.  
  13489. Basic operation
  13490. Continue a drag operation in the facet. The facet will transform the
  13491. point into frame coordinates and notify its part via
  13492. Part::DragWithin(). The dispatcher will only make this call if the
  13493. facet's frame's "isDroppable" flag is set.
  13494.  
  13495. Inputs
  13496. point
  13497.     The location of the mouse in window coordinates.
  13498. dragInfo
  13499.     The items being dragged.
  13500. biasCanvas
  13501.     The canvas to whose coordinate space the call is biased. May be
  13502. kODNULL if the geometry is in the standard platform coordinate bias.
  13503.  
  13504. Outputs
  13505. None.
  13506.  
  13507. Exceptions Signalled
  13508. None.
  13509.  
  13510. Pre conditions
  13511. None.
  13512.  
  13513. Post conditions
  13514. None.
  13515.  
  13516. æKY ODFacet::Draw
  13517. Facet::Draw
  13518. Facet->Draw
  13519. æT Class Method
  13520. æD void Draw(
  13521. ODShape* invalidShape,
  13522. ODCanvas* biasCanvas);
  13523.  
  13524. æC Protection
  13525.     Public.  
  13526.  
  13527. Override policy
  13528.     Derived class can override.
  13529.     Derived class can call base class behavior, during derived class behavior.
  13530.  
  13531. Basic operation
  13532. Tell the facet's part to draw itself in invalidShape in this facet.
  13533. The facet transforms invalidShape into frame coordinates, and passes
  13534. the request to the part via Part::Draw().
  13535.  
  13536. Inputs
  13537. invalidShape
  13538.     The area in which the part should draw itself. In window coordinates.
  13539. biasCanvas
  13540.     The canvas to whose coordinate space the call is biased. May be
  13541. kODNULL if the geometry is in the standard platform coordinate bias.
  13542.  
  13543. Outputs
  13544. None.
  13545.  
  13546. Exceptions Signalled
  13547. None.
  13548.  
  13549. Pre conditions
  13550. None.
  13551.  
  13552. Post conditions
  13553. None.
  13554.  
  13555. æKY ODFacet::DrawActiveBorder
  13556. Facet::DrawActiveBorder
  13557. Facet->DrawActiveBorder
  13558. æT Class Method
  13559. æD void DrawActiveBorder();
  13560.  
  13561. æC Protection
  13562.     Public.  
  13563.  
  13564. Override policy
  13565.     Derived class can override.
  13566.     Derived class can call base class behavior, during derived class behavior.
  13567.  
  13568. Basic operation
  13569. Draw the facet's active border adornment.
  13570.  
  13571. Inputs
  13572. None.
  13573.  
  13574. Outputs
  13575. None.
  13576.  
  13577. Exceptions Signalled
  13578. None.
  13579.  
  13580. Pre conditions
  13581. None.
  13582.  
  13583. Post conditions
  13584. None.
  13585.  
  13586. æKY ODFacet::DrawChildren
  13587. Facet::DrawChildren
  13588. Facet->DrawChildren
  13589. æT Class Method
  13590. æD void DrawChildren(
  13591. ODShape* invalidShape,
  13592. ODCanvas* biasCanvas);
  13593.  
  13594. æC Protection
  13595.     Public.  
  13596.  
  13597. Override policy
  13598.     Derived class can override.
  13599.     Derived class can call base class behavior, during derived class behavior.
  13600.  
  13601. Basic operation
  13602. Draw all this facet's child facets which need updating.
  13603.  
  13604. Inputs
  13605. invalidShape
  13606.     The shape in which the facets should draw.
  13607. biasCanvas
  13608.     The canvas to whose coordinate space the call is biased. May be
  13609. kODNULL if the geometry is in the standard platform coordinate bias.
  13610.  
  13611. Outputs
  13612. None.
  13613.  
  13614. Exceptions Signalled
  13615. None.
  13616.  
  13617. Pre conditions
  13618. None.
  13619.  
  13620. Post conditions
  13621. None.
  13622.  
  13623. æKY ODFacet::DrawChildrenAlways
  13624. Facet::DrawChildrenAlways
  13625. Facet->DrawChildrenAlways
  13626. æT Class Method
  13627. æD void DrawChildrenAlways(
  13628. ODShape* invalidShape,
  13629. ODCanvas* biasCanvas);
  13630.  
  13631. æC Protection
  13632.     Public.  
  13633.  
  13634. Override policy
  13635.     Derived class can override.
  13636.     Derived class can call base class behavior, during derived class behavior.
  13637.  
  13638. Basic operation
  13639. Draw all this facet's child facets, whether they need updating or not.
  13640.  
  13641. Inputs
  13642. invalidShape
  13643.     The shape in which the facets should draw.
  13644. biasCanvas
  13645.     The canvas to whose coordinate space the call is biased. May be
  13646. kODNULL if the geometry is in the standard platform coordinate bias.
  13647.  
  13648. Outputs
  13649. None.
  13650.  
  13651. Exceptions Signalled
  13652. None.
  13653.  
  13654. Pre conditions
  13655. None.
  13656.  
  13657. Post conditions
  13658. None.
  13659.  
  13660. æKY ODFacet::DrawnIn
  13661. Facet::DrawnIn
  13662. Facet->DrawnIn
  13663. æT Class Method
  13664. æD void DrawnIn(
  13665. ODShape* shape,
  13666. ODCanvas* biasCanvas);
  13667.  
  13668. æC Protection
  13669.     Public.  
  13670.  
  13671. Override policy
  13672.     Derived class can override.
  13673.     Derived class can call base class behavior, during derived class behavior.
  13674.  
  13675. Basic operation
  13676. Notify the facet it has been drawn in via another path than an update
  13677. operation. Notify the owner of the facet's canvas to update its parent
  13678. canvas with the altered contents.
  13679.  
  13680. Inputs
  13681. shape
  13682.     The shape in which the facet has been drawn. In frame coordinates.
  13683. biasCanvas
  13684.     The canvas to whose coordinate space the call is biased. May be
  13685. kODNULL if the geometry is in the standard platform coordinate bias.
  13686.  
  13687. Outputs
  13688. None.
  13689.  
  13690. Exceptions Signalled
  13691. None.
  13692.  
  13693. Pre conditions
  13694. None.
  13695.  
  13696. Post conditions
  13697. None.
  13698.  
  13699. æKY ODFacet::Drop
  13700. Facet::Drop
  13701. Facet->Drop
  13702. æT Class Method
  13703. æD ODDropResult Drop(
  13704. ODPoint point,
  13705. ODDragItemIterator* dropInfo,
  13706. ODCanvas* biasCanvas);
  13707.  
  13708. æC Protection
  13709.     Public.  
  13710.  
  13711. Override policy
  13712.     Derived class can override.
  13713.     Derived class can call base class behavior, during derived class behavior.
  13714.  
  13715. Basic operation
  13716. Drop items into the facet. The facet will transform the point into
  13717. frame coordinates and notify its part via Part::Drop(). The dispatcher
  13718. will only make this call if the facet's frame's "isDroppable" flag is
  13719. set.
  13720.  
  13721. Inputs
  13722. point
  13723.     The location of the mouse in window coordinates.
  13724. dropInfo
  13725.     The items being dropped.
  13726. biasCanvas
  13727.     The canvas to whose coordinate space the call is biased. May be
  13728. kODNULL if the geometry is in the standard platform coordinate bias.
  13729.  
  13730. Outputs
  13731. None.
  13732.  
  13733. Exceptions Signalled
  13734. None.
  13735.  
  13736. Pre conditions
  13737. None.
  13738.  
  13739. Post conditions
  13740. None.
  13741.  
  13742. æKY ODFacet::GetActiveShape
  13743. Facet::GetActiveShape
  13744. Facet->GetActiveShape
  13745. æT Class Method
  13746. æD ODShape* GetActiveShape(
  13747. ODCanvas* biasCanvas);
  13748.  
  13749. æC Protection
  13750.     Public.  
  13751.  
  13752. Override policy
  13753.     Derived class can override.
  13754.     Derived class can call base class behavior, during derived class behavior.
  13755.  
  13756. Basic operation
  13757. Return the facet's active shape. If none has been set, return its
  13758. frame's frame shape.
  13759.  
  13760. Inputs
  13761. biasCanvas
  13762.     The canvas to whose coordinate space the call is biased. May be
  13763. kODNULL if the geometry is in the standard platform coordinate bias.
  13764.  
  13765. Outputs
  13766. <return>
  13767.     The facet's active shape.
  13768.  
  13769. Exceptions Signalled
  13770. None.
  13771.  
  13772. Pre conditions
  13773. None.
  13774.  
  13775. Post conditions
  13776. None.
  13777.  
  13778. æKY ODFacet::GetAggregateClipShape
  13779. Facet::GetAggregateClipShape
  13780. Facet->GetAggregateClipShape
  13781. æT Class Method
  13782. æD ODShape* GetAggregateClipShape(
  13783. ODCanvas* biasCanvas);
  13784.  
  13785. æC Protection
  13786.     Public.  
  13787.  
  13788. Override policy
  13789.     Derived class can override.
  13790.     Derived class can call base class behavior, during derived class behavior.
  13791.  
  13792. Basic operation
  13793. Return the shape which is the intersection of this facet's clip shape,
  13794. and all containing facets' clip shapes on this facet's canvas.
  13795.  
  13796. Inputs
  13797. biasCanvas
  13798.     The canvas to whose coordinate space the call is biased. May be
  13799. kODNULL if the geometry is in the standard platform coordinate bias.
  13800.  
  13801. Outputs
  13802. <return>
  13803.     The facet's aggregate clip shape.
  13804.  
  13805. Exceptions Signalled
  13806. None.
  13807.  
  13808. Pre conditions
  13809. None.
  13810.  
  13811. Post conditions
  13812. None.
  13813.  
  13814. æKY ODFacet::GetCanvas
  13815. Facet::GetCanvas
  13816. Facet->GetCanvas
  13817. æT Class Method
  13818. æD ODCanvas* GetCanvas();
  13819.  
  13820. æC Protection
  13821.     Public.  
  13822.  
  13823. Override policy
  13824.     Derived class can override.
  13825.     Derived class can call base class behavior, during derived class behavior.
  13826.  
  13827. Basic operation
  13828. Return the canvas this facet's part should image on. If the facet has
  13829. no canvas of its own, it will return its containing facet's canvas,
  13830. recursively.
  13831.  
  13832. Inputs
  13833. None.
  13834.  
  13835. Outputs
  13836. <return>
  13837.     The facet's canvas.
  13838.  
  13839. Exceptions Signalled
  13840. kODErrInvalidCanvas
  13841.     Neither this facet or any of its parents had a canvas.
  13842.  
  13843. Pre conditions
  13844. None.
  13845.  
  13846. Post conditions
  13847. None.
  13848.  
  13849. æKY ODFacet::GetClipShape
  13850. Facet::GetClipShape
  13851. Facet->GetClipShape
  13852. æT Class Method
  13853. æD ODShape* GetClipShape(
  13854. ODCanvas* biasCanvas);
  13855.  
  13856. æC Protection
  13857.     Public.  
  13858.  
  13859. Override policy
  13860.     Derived class can override.
  13861.     Derived class can call base class behavior, during derived class behavior.
  13862.  
  13863. Basic operation
  13864. Return the clip shape of the receiver.
  13865.  
  13866. Inputs
  13867. biasCanvas
  13868.     The canvas to whose coordinate space the call is biased. May be
  13869. kODNULL if the geometry is in the standard platform coordinate bias.
  13870.  
  13871. Outputs
  13872. <return>
  13873.     The facet's clip shape.
  13874.  
  13875. Exceptions Signalled
  13876. None.
  13877.  
  13878. Pre conditions
  13879. None.
  13880.  
  13881. Post conditions
  13882. None.
  13883.  
  13884. æKY ODFacet::GetContainingFacet
  13885. Facet::GetContainingFacet
  13886. Facet->GetContainingFacet
  13887. æT Class Method
  13888. æD ODFacet* GetContainingFacet();
  13889.  
  13890. æC Protection
  13891.     Public.  
  13892.  
  13893. Override policy
  13894.     Derived class can override.
  13895.     Derived class can call base class behavior, during derived class behavior.
  13896.  
  13897. Basic operation
  13898. Return the containing facet of the receiver.
  13899.  
  13900. Inputs
  13901. None.
  13902.  
  13903. Outputs
  13904. <return>
  13905.     The containing facet of the receiver. May be kODNULL.
  13906.  
  13907. Exceptions Signalled
  13908. None.
  13909.  
  13910. Pre conditions
  13911. None.
  13912.  
  13913. Post conditions
  13914. None.
  13915.  
  13916. æKY ODFacet::GetContentTransform
  13917. Facet::GetContentTransform
  13918. Facet->GetContentTransform
  13919. æT Class Method
  13920. æD ODTransform* GetContentTransform(
  13921. ODCanvas* biasCanvas);
  13922.  
  13923. æC Protection
  13924.     Public.  
  13925.  
  13926. Override policy
  13927.     Derived class can override.
  13928.     Derived class can call base class behavior, during derived class behavior.
  13929.  
  13930. Basic operation
  13931. Calculate and return the facet's content transform. This transform is
  13932. calculated by concatenating the facet's frame's internal transform
  13933. with this facet's frame transform. This results in a transformation
  13934. which describes the content coordinate space of this facet on its
  13935. canvas.
  13936.  
  13937. Inputs
  13938. biasCanvas
  13939.     The canvas to whose coordinate space the call is biased. May be
  13940. kODNULL if the geometry is in the standard platform coordinate bias.
  13941.  
  13942. Outputs
  13943. <return>
  13944.     The facet's content transform.
  13945.  
  13946. Exceptions Signalled
  13947. None.
  13948.  
  13949. Pre conditions
  13950. None.
  13951.  
  13952. Post conditions
  13953. None.
  13954.  
  13955. æKY ODFacet::GetExternalTransform
  13956. Facet::GetExternalTransform
  13957. Facet->GetExternalTransform
  13958. æT Class Method
  13959. æD ODTransform* GetExternalTransform(
  13960. ODCanvas* biasCanvas);
  13961.  
  13962. æC Protection
  13963.     Public.  
  13964.  
  13965. Override policy
  13966.     Derived class can override.
  13967.     Derived class can call base class behavior, during derived class behavior.
  13968.  
  13969. Basic operation
  13970. Return the external transform of the facet.
  13971.  
  13972. Inputs
  13973. biasCanvas
  13974.     The canvas to whose coordinate space the call is biased. May be
  13975. kODNULL if the geometry is in the standard platform coordinate bias.
  13976.  
  13977. Outputs
  13978. <return>
  13979.     The facet's external transform.
  13980.  
  13981. Exceptions Signalled
  13982. None.
  13983.  
  13984. Pre conditions
  13985. None.
  13986.  
  13987. Post conditions
  13988. None.
  13989.  
  13990. æKY ODFacet::GetFrame
  13991. Facet::GetFrame
  13992. Facet->GetFrame
  13993. æT Class Method
  13994. æD ODFrame* GetFrame();
  13995.  
  13996. æC Protection
  13997.     Public.  
  13998.  
  13999. Override policy
  14000.     Derived class can override.
  14001.     Derived class can call base class behavior, during derived class behavior.
  14002.  
  14003. Basic operation
  14004. Return the frame this facet displays.
  14005.  
  14006. Inputs
  14007. None.
  14008.  
  14009. Outputs
  14010. <return>
  14011.     The facet's frame.
  14012.  
  14013. Exceptions Signalled
  14014. None.
  14015.  
  14016. Pre conditions
  14017. None.
  14018.  
  14019. Post conditions
  14020. None.
  14021.  
  14022. æKY ODFacet::GetFrameTransform
  14023. Facet::GetFrameTransform
  14024. Facet->GetFrameTransform
  14025. æT Class Method
  14026. æD ODTransform* GetFrameTransform(
  14027. ODCanvas* biasCanvas);
  14028.  
  14029. æC Protection
  14030.     Public.  
  14031.  
  14032. Override policy
  14033.     Derived class can override.
  14034.     Derived class can call base class behavior, during derived class behavior.
  14035.  
  14036. Basic operation
  14037. Calculate and return the facet's frame transform. This transform is
  14038. calculated by concatenating the facet's external transform with all
  14039. enclosing facets' internal and external transforms, up to the internal
  14040. transform of the topmost facet on this facet's canvas. This results in
  14041. a transformation which describes the frame coordinate space of this
  14042. facet on its canvas.
  14043.  
  14044. Inputs
  14045. biasCanvas
  14046.     The canvas to whose coordinate space the call is biased. May be
  14047. kODNULL if the geometry is in the standard platform coordinate bias.
  14048.  
  14049. Outputs
  14050. <return>
  14051.     The facet's frame transform.
  14052.  
  14053. Exceptions Signalled
  14054. None.
  14055.  
  14056. Pre conditions
  14057. None.
  14058.  
  14059. Post conditions
  14060. None.
  14061.  
  14062. æKY ODFacet::GetHighlight
  14063. Facet::GetHighlight
  14064. Facet->GetHighlight
  14065. æT Class Method
  14066. æD ODHighlight GetHighlight();
  14067.  
  14068. æC Protection
  14069.     Public.  
  14070.  
  14071. Override policy
  14072.     Derived class can override.
  14073.     Derived class can call base class behavior, during derived class behavior.
  14074.  
  14075. Basic operation
  14076. Return the highlight state of the facet. The facet's part should use
  14077. this information to draw its contents consistently with the selection
  14078. highlighting in its containing part.
  14079.  
  14080. Inputs
  14081. None.
  14082.  
  14083. Outputs
  14084. <return>
  14085.     The highlight state of the facet.
  14086.  
  14087. Exceptions Signalled
  14088. None.
  14089.  
  14090. Pre conditions
  14091. None.
  14092.  
  14093. Post conditions
  14094. None.
  14095.  
  14096. æKY ODFacet::GetNode
  14097. Facet::GetNode
  14098. Facet->GetNode
  14099. æT Class Method
  14100. æD FacetNode* GetNode();
  14101.  
  14102. æC Protection
  14103.     Protected.  Only called by facets.
  14104.  
  14105. Override policy
  14106.     Derived class can override.
  14107.     Derived class can call base class behavior, during derived class behavior.
  14108.  
  14109. Basic operation
  14110. None.
  14111.  
  14112. Inputs
  14113. None.
  14114.  
  14115. Outputs
  14116. None.
  14117.  
  14118. Exceptions Signalled
  14119. None.
  14120.  
  14121. Pre conditions
  14122. None.
  14123.  
  14124. Post conditions
  14125. None.
  14126.  
  14127. æKY ODFacet::GetPartInfo
  14128. Facet::GetPartInfo
  14129. Facet->GetPartInfo
  14130. æT Class Method
  14131. æD ODInfoType GetPartInfo();
  14132.  
  14133. æC Protection
  14134.     Public.  
  14135.  
  14136. Override policy
  14137.     Derived class can override.
  14138.     Derived class can call base class behavior, during derived class behavior.
  14139.  
  14140. Basic operation
  14141. Return the partInfo data a part has stored in this facet.
  14142.  
  14143. Inputs
  14144. None.
  14145.  
  14146. Outputs
  14147. <return>
  14148.     The facet's partInfo.
  14149.  
  14150. Exceptions Signalled
  14151. None.
  14152.  
  14153. Pre conditions
  14154. None.
  14155.  
  14156. Post conditions
  14157. None.
  14158.  
  14159. æKY ODFacet::GetWindow
  14160. Facet::GetWindow
  14161. Facet->GetWindow
  14162. æT Class Method
  14163. æD ODWindow* GetWindow();
  14164.  
  14165. æC Protection
  14166.     Public.  
  14167.  
  14168. Override policy
  14169.     Derived class can override.
  14170.     Derived class can call base class behavior, during derived class behavior.
  14171.  
  14172. Basic operation
  14173. Return the window this facet is displayed in. This value may be
  14174. kODNULL if the facet is a printing facet and does not appear in any
  14175. window.
  14176.  
  14177. Inputs
  14178. None.
  14179.  
  14180. Outputs
  14181. <return>
  14182.     The facet's window.
  14183.  
  14184. Exceptions Signalled
  14185. None.
  14186.  
  14187. Pre conditions
  14188. None.
  14189.  
  14190. Post conditions
  14191. None.
  14192.  
  14193. æKY ODFacet::GetWindowAggregateClipShape
  14194. Facet::GetWindowAggregateClipShape
  14195. Facet->GetWindowAggregateClipShape
  14196. æT Class Method
  14197. æD ODShape* GetWindowAggregateClipShape(
  14198. ODCanvas* biasCanvas);
  14199.  
  14200. æC Protection
  14201.     Public.  
  14202.  
  14203. Override policy
  14204.     Derived class can override.
  14205.     Derived class can call base class behavior, during derived class behavior.
  14206.  
  14207. Basic operation
  14208. Return the shape which is the intersection of this facet's clip shape,
  14209. and all containing facets' clip shapes in this facet's window.
  14210.  
  14211. Inputs
  14212. biasCanvas
  14213.     The canvas to whose coordinate space the call is biased. May be
  14214. kODNULL if the geometry is in the standard platform coordinate bias.
  14215.  
  14216. Outputs
  14217. <return>
  14218.     The facet's aggregate clip shape.
  14219.  
  14220. Exceptions Signalled
  14221. None.
  14222.  
  14223. Pre conditions
  14224. None.
  14225.  
  14226. Post conditions
  14227. None.
  14228.  
  14229. æKY ODFacet::GetWindowContentTransform
  14230. Facet::GetWindowContentTransform
  14231. Facet->GetWindowContentTransform
  14232. æT Class Method
  14233. æD ODTransform* GetWindowContentTransform(
  14234. ODCanvas* biasCanvas);
  14235.  
  14236. æC Protection
  14237.     Public.  
  14238.  
  14239. Override policy
  14240.     Derived class can override.
  14241.     Derived class can call base class behavior, during derived class behavior.
  14242.  
  14243. Basic operation
  14244. Calculate and return the facet's window content transform. This
  14245. transform is calculated by concatenating the facet's frame's internal
  14246. transform with its window frame transform. This results in a
  14247. transformation which describes the content coordinate space of this
  14248. facet in its window.
  14249.  
  14250. Inputs
  14251. biasCanvas
  14252.     The canvas to whose coordinate space the call is biased. May be
  14253. kODNULL if the geometry is in the standard platform coordinate bias.
  14254.  
  14255. Outputs
  14256. <return>
  14257.     The facet's window content transform.
  14258.  
  14259. Exceptions Signalled
  14260. None.
  14261.  
  14262. Pre conditions
  14263. None.
  14264.  
  14265. Post conditions
  14266. None.
  14267.  
  14268. æKY ODFacet::GetWindowFrameTransform
  14269. Facet::GetWindowFrameTransform
  14270. Facet->GetWindowFrameTransform
  14271. æT Class Method
  14272. æD ODTransform* GetWindowFrameTransform(
  14273. ODCanvas* biasCanvas);
  14274.  
  14275. æC Protection
  14276.     Public.  
  14277.  
  14278. Override policy
  14279.     Derived class can override.
  14280.     Derived class can call base class behavior, during derived class behavior.
  14281.  
  14282. Basic operation
  14283. Calculate and return the facet's window frame transform. This
  14284. transform is calculated by concatenating the facet's external
  14285. transform with all enclosing facets' internal and external transforms.
  14286. This results in a transformation which describes the frame coordinate
  14287. space of this facet in its window.
  14288.  
  14289. Inputs
  14290. biasCanvas
  14291.     The canvas to whose coordinate space the call is biased. May be
  14292. kODNULL if the geometry is in the standard platform coordinate bias.
  14293.  
  14294. Outputs
  14295. <return>
  14296.     The facet's window frame transform.
  14297.  
  14298. Exceptions Signalled
  14299. None.
  14300.  
  14301. Pre conditions
  14302. None.
  14303.  
  14304. Post conditions
  14305. None.
  14306.  
  14307. æKY ODFacet::HasCanvas
  14308. Facet::HasCanvas
  14309. Facet->HasCanvas
  14310. æT Class Method
  14311. æD ODBoolean HasCanvas();
  14312.  
  14313. æC Protection
  14314.     Public.  
  14315.  
  14316. Override policy
  14317.     Derived class can override.
  14318.     Derived class can call base class behavior, during derived class behavior.
  14319.  
  14320. Basic operation
  14321. Return whether this facets has its own canvas.
  14322.  
  14323. Inputs
  14324. None.
  14325.  
  14326. Outputs
  14327. <return>
  14328.     True if the facet has its own canvas, or false if not.
  14329.  
  14330. Exceptions Signalled
  14331. None.
  14332.  
  14333. Pre conditions
  14334. None.
  14335.  
  14336. Post conditions
  14337. None.
  14338.  
  14339. æKY ODFacet::InitChildFacet
  14340. Facet::InitChildFacet
  14341. Facet->InitChildFacet
  14342. æT Class Method
  14343. æD void InitChildFacet(
  14344. FacetNode* node,
  14345. ODFrame* frame,
  14346. ODShape* clipShape,
  14347. ODTransform* externalTransform,
  14348. ODCanvas* canvas,
  14349. ODCanvas* biasCanvas);
  14350.  
  14351. æC Protection
  14352.     Public.  
  14353.  
  14354. Override policy
  14355.     Derived class must override.
  14356.     Derived class must call base class behavior, before derived class behavior.
  14357.  
  14358. Basic operation
  14359. Initialize a newly constructed facet. This MUST be called before the
  14360. facet can be used.
  14361.  
  14362. Inputs
  14363. frame
  14364.     The facet's frame. This value never changes over the life of the
  14365. facet.
  14366. clipShape
  14367.     The initial clipShape of the facet.
  14368. externalTransform
  14369.     The initial externalTransform of the facet.
  14370. canvas
  14371.     The canvas this facet should draw on. May be kODNULL if same as that
  14372. of containing facet.
  14373. biasCanvas
  14374.     The canvas to whose coordinate space the call is biased. May be
  14375. kODNULL if the geometry is in the standard platform coordinate bias.
  14376. node
  14377.     The node to which the facet should attach itself.
  14378.  
  14379. Outputs
  14380. None.
  14381.  
  14382. Exceptions Signalled
  14383. None.
  14384.  
  14385. Pre conditions
  14386. Facet is newly constructed.
  14387.  
  14388. Post conditions
  14389. Facet can be used for display or event dispatching.
  14390.  
  14391. æKY ODFacet::InitFacet
  14392. Facet::InitFacet
  14393. Facet->InitFacet
  14394. æT Class Method
  14395. æD void InitFacet(
  14396. ODFrame* frame,
  14397. ODShape* clipShape,
  14398. ODTransform* externalTransform,
  14399. ODCanvas* canvas,
  14400. ODCanvas* biasCanvas);
  14401.  
  14402. æC Protection
  14403.     Public.  
  14404.  
  14405. Override policy
  14406.     Derived class can override.
  14407.     Derived class can call base class behavior, during derived class behavior.
  14408.  
  14409. Basic operation
  14410. Initialize a newly constructed facet. This MUST be called before the
  14411. facet can be used.
  14412.  
  14413. Inputs
  14414. frame
  14415.     The facet's frame. This value never changes over the life of the
  14416. facet.
  14417. clipShape
  14418.     The initial clipShape of the facet.
  14419. externalTransform
  14420.     The initial externalTransform of the facet.
  14421. canvas
  14422.     The canvas this facet should draw on. May be kODNULL if same as that
  14423. of containing facet.
  14424. biasCanvas
  14425.     The canvas to whose coordinate space the call is biased. May be
  14426. kODNULL if the geometry is in the standard platform coordinate bias.
  14427.  
  14428. Outputs
  14429. None.
  14430.  
  14431. Exceptions Signalled
  14432. None.
  14433.  
  14434. Pre conditions
  14435. Facet is newly constructed.
  14436.  
  14437. Post conditions
  14438. Facet can be used for display or event dispatching.
  14439.  
  14440. æKY ODFacet::InternalTransformChanged
  14441. Facet::InternalTransformChanged
  14442. Facet->InternalTransformChanged
  14443. æT Class Method
  14444. æD void InternalTransformChanged();
  14445.  
  14446. æC Protection
  14447.     Protected.  Only called by frames.
  14448.  
  14449. Override policy
  14450.     Derived class can override.
  14451.     Derived class can call base class behavior, during derived class behavior.
  14452.  
  14453. Basic operation
  14454. Notify the facet that its frame's internal transform has been changed.
  14455. If facets are caching aggregate transformation information, this
  14456. should notify child facets to invalidate those caches.
  14457.  
  14458. Inputs
  14459. None.
  14460.  
  14461. Outputs
  14462. None.
  14463.  
  14464. Exceptions Signalled
  14465. None.
  14466.  
  14467. Pre conditions
  14468. None.
  14469.  
  14470. Post conditions
  14471. None.
  14472.  
  14473. æKY ODFacet::Invalidate
  14474. Facet::Invalidate
  14475. Facet->Invalidate
  14476. æT Class Method
  14477. æD void Invalidate(
  14478. ODShape* invalidShape,
  14479. ODCanvas* biasCanvas);
  14480.  
  14481. æC Protection
  14482.     Public.  
  14483.  
  14484. Override policy
  14485.     Derived class can override.
  14486.     Derived class can call base class behavior, during derived class behavior.
  14487.  
  14488. Basic operation
  14489. Cause the underlying graphics system to mark the area in invalidShape
  14490. as needing repainting. This area is marked on this facet's canvas, and
  14491. all parent canvases, so changes in this facet can be reflected in
  14492. those canvases.
  14493.  
  14494. Inputs
  14495. invalidShape
  14496.     The area to mark as invalid. In frame coordinates.
  14497. biasCanvas
  14498.     The canvas to whose coordinate space the call is biased. May be
  14499. kODNULL if the geometry is in the standard platform coordinate bias.
  14500.  
  14501. Outputs
  14502. None.
  14503.  
  14504. Exceptions Signalled
  14505. kODErrInvalidFacet
  14506.     Can't find facet for parent canvas.
  14507.  
  14508. Pre conditions
  14509. None.
  14510.  
  14511. Post conditions
  14512. None.
  14513.  
  14514. æKY ODFacet::InvalidateActiveBorder
  14515. Facet::InvalidateActiveBorder
  14516. Facet->InvalidateActiveBorder
  14517. æT Class Method
  14518. æD void InvalidateActiveBorder();
  14519.  
  14520. æC Protection
  14521.     Public.  
  14522.  
  14523. Override policy
  14524.     Derived class can override.
  14525.     Derived class can call base class behavior, during derived class behavior.
  14526.  
  14527. Basic operation
  14528. Mark the area under the facet's active border adornment as needing
  14529. redrawing. This can be used to erase the active border.
  14530.  
  14531. Inputs
  14532. None.
  14533.  
  14534. Outputs
  14535. None.
  14536.  
  14537. Exceptions Signalled
  14538. None.
  14539.  
  14540. Pre conditions
  14541. None.
  14542.  
  14543. Post conditions
  14544. None.
  14545.  
  14546. æKY ODFacet::InvalidateAggregateClipShape
  14547. Facet::InvalidateAggregateClipShape
  14548. Facet->InvalidateAggregateClipShape
  14549. æT Class Method
  14550. æD void InvalidateAggregateClipShape();
  14551.  
  14552. æC Protection
  14553.     Protected.  Only called by other facets in Mac implementation.
  14554.  
  14555. Override policy
  14556.     Derived class can override.
  14557.     Derived class can call base class behavior, during derived class behavior.
  14558.  
  14559. Basic operation
  14560. None.
  14561.  
  14562. Inputs
  14563. None.
  14564.  
  14565. Outputs
  14566. None.
  14567.  
  14568. Exceptions Signalled
  14569. None.
  14570.  
  14571. Pre conditions
  14572. None.
  14573.  
  14574. Post conditions
  14575. None.
  14576.  
  14577. æKY ODFacet::InvalidateAggregateTransforms
  14578. Facet::InvalidateAggregateTransforms
  14579. Facet->InvalidateAggregateTransforms
  14580. æT Class Method
  14581. æD void InvalidateAggregateTransforms();
  14582.  
  14583. æC Protection
  14584.     Protected.  Only called by facets.
  14585.  
  14586. Override policy
  14587.     Derived class can override.
  14588.     Derived class can call base class behavior, during derived class behavior.
  14589.  
  14590. Basic operation
  14591. None.
  14592.  
  14593. Inputs
  14594. None.
  14595.  
  14596. Outputs
  14597. None.
  14598.  
  14599. Exceptions Signalled
  14600. None.
  14601.  
  14602. Pre conditions
  14603. None.
  14604.  
  14605. Post conditions
  14606. None.
  14607.  
  14608. æKY ODFacet::IsSelected
  14609. Facet::IsSelected
  14610. Facet->IsSelected
  14611. æT Class Method
  14612. æD ODBoolean IsSelected();
  14613.  
  14614. æC Protection
  14615.     Public.  
  14616.  
  14617. Override policy
  14618.     Derived class can override.
  14619.     Derived class can call base class behavior, during derived class behavior.
  14620.  
  14621. Basic operation
  14622. Return the facet's isSelected flag. Indicates whether the facet is
  14623. selected within its container. This information is used by the
  14624. dispatcher to determine where to send mouse events.
  14625.  
  14626. Inputs
  14627. None.
  14628.  
  14629. Outputs
  14630. <return>
  14631.     Value of the facet's isSelected flag.
  14632.  
  14633. Exceptions Signalled
  14634. None.
  14635.  
  14636. Pre conditions
  14637. None.
  14638.  
  14639. Post conditions
  14640. None.
  14641.  
  14642. æKY ODFacet::MouseEnter
  14643. Facet::MouseEnter
  14644. Facet->MouseEnter
  14645. æT Class Method
  14646. æD void MouseEnter(
  14647. ODPoint where,
  14648. ODCanvas* biasCanvas);
  14649.  
  14650. æC Protection
  14651.     Public.  
  14652.  
  14653. Override policy
  14654.     Derived class can override.
  14655.     Derived class can call base class behavior, during derived class behavior.
  14656.  
  14657. Basic operation
  14658. The mouse has entered the facet's active shape. Transform the mouse
  14659. location to frame coordinates, and pass to the part via
  14660. Part::MouseEnter().
  14661.  
  14662. Inputs
  14663. where
  14664.     The mouse location. In window coordinates.
  14665. biasCanvas
  14666.     The canvas to whose coordinate space the call is biased. May be
  14667. kODNULL if the geometry is in the standard platform coordinate bias.
  14668.  
  14669. Outputs
  14670. None.
  14671.  
  14672. Exceptions Signalled
  14673. None.
  14674.  
  14675. Pre conditions
  14676. None.
  14677.  
  14678. Post conditions
  14679. None.
  14680.  
  14681. æKY ODFacet::MouseLeave
  14682. Facet::MouseLeave
  14683. Facet->MouseLeave
  14684. æT Class Method
  14685. æD void MouseLeave();
  14686.  
  14687. æC Protection
  14688.     Public.  
  14689.  
  14690. Override policy
  14691.     Derived class can override.
  14692.     Derived class can call base class behavior, during derived class behavior.
  14693.  
  14694. Basic operation
  14695. The mouse has left the facet's active shape. Pass to the part via
  14696. Part::MouseLeave().
  14697.  
  14698. Inputs
  14699. None.
  14700.  
  14701. Outputs
  14702. None.
  14703.  
  14704. Exceptions Signalled
  14705. None.
  14706.  
  14707. Pre conditions
  14708. None.
  14709.  
  14710. Post conditions
  14711. None.
  14712.  
  14713. æKY ODFacet::MouseWithin
  14714. Facet::MouseWithin
  14715. Facet->MouseWithin
  14716. æT Class Method
  14717. æD void MouseWithin(
  14718. ODPoint where,
  14719. ODCanvas* biasCanvas);
  14720.  
  14721. æC Protection
  14722.     Public.  
  14723.  
  14724. Override policy
  14725.     Derived class can override.
  14726.     Derived class can call base class behavior, during derived class behavior.
  14727.  
  14728. Basic operation
  14729. The mouse has moved within the facet's active shape. Transform the
  14730. mouse location to frame coordinates, and pass to the part via
  14731. Part::MouseWithin().
  14732.  
  14733. Inputs
  14734. where
  14735.     The mouse location. In window coordinates.
  14736. biasCanvas
  14737.     The canvas to whose coordinate space the call is biased. May be
  14738. kODNULL if the geometry is in the standard platform coordinate bias.
  14739.  
  14740. Outputs
  14741. None.
  14742.  
  14743. Exceptions Signalled
  14744. None.
  14745.  
  14746. Pre conditions
  14747. None.
  14748.  
  14749. Post conditions
  14750. None.
  14751.  
  14752. æKY ODFacet::MoveBefore
  14753. Facet::MoveBefore
  14754. Facet->MoveBefore
  14755. æT Class Method
  14756. æD void MoveBefore(
  14757. ODFacet* child,
  14758. ODFacet* sibling);
  14759.  
  14760. æC Protection
  14761.     Public.  
  14762.  
  14763. Override policy
  14764.     Derived class can override.
  14765.     Derived class can call base class behavior, during derived class behavior.
  14766.  
  14767. Basic operation
  14768. Move one of a facet's child facets in front of a sibling facet.
  14769.  
  14770. Inputs
  14771. child
  14772.     The child facet to reposition.
  14773. sibling
  14774.     The facet to move "child" in front of. If the value is kODNULL,
  14775. "child" is moved to the front of all its siblings.
  14776.  
  14777. Outputs
  14778. None.
  14779.  
  14780. Exceptions Signalled
  14781. kODErrInvalidFacet
  14782.     "child" or "sibling" is not a valid child facet of the receiver.
  14783.  
  14784. Pre conditions
  14785. "child" and "sibling" are both chldren of the receiver.
  14786.  
  14787. Post conditions
  14788. "child" has been repositioned in front of "sibling" or all siblings.
  14789.  
  14790. æKY ODFacet::MoveBehind
  14791. Facet::MoveBehind
  14792. Facet->MoveBehind
  14793. æT Class Method
  14794. æD void MoveBehind(
  14795. ODFacet* child,
  14796. ODFacet* sibling);
  14797.  
  14798. æC Protection
  14799.     Public.  
  14800.  
  14801. Override policy
  14802.     Derived class can override.
  14803.     Derived class can call base class behavior, during derived class behavior.
  14804.  
  14805. Basic operation
  14806. Move one of a facet's child facets behind a sibling facet.
  14807.  
  14808. Inputs
  14809. child
  14810.     The child facet to reposition.
  14811. sibling
  14812.     The facet to move "child" behind. If the value is kODNULL, "child" is
  14813. moved behind all its siblings.
  14814.  
  14815. Outputs
  14816. None.
  14817.  
  14818. Exceptions Signalled
  14819. kODErrInvalidFacet
  14820.     "child" or "sibling" is not a valid child facet of the receiver.
  14821.  
  14822. Pre conditions
  14823. "child" and "sibling" are both chldren of the receiver.
  14824.  
  14825. Post conditions
  14826. "child" has been repositioned behind "sibling" or all siblings.
  14827.  
  14828. æKY ODFacet::NeedsUpdate
  14829. Facet::NeedsUpdate
  14830. Facet->NeedsUpdate
  14831. æT Class Method
  14832. æD ODBoolean NeedsUpdate();
  14833.  
  14834. æC Protection
  14835.     Protected.  Only called by facets.
  14836.  
  14837. Override policy
  14838.     Derived class can override.
  14839.     Derived class can call base class behavior, during derived class behavior.
  14840.  
  14841. Basic operation
  14842. None.
  14843.  
  14844. Inputs
  14845. None.
  14846.  
  14847. Outputs
  14848. None.
  14849.  
  14850. Exceptions Signalled
  14851. None.
  14852.  
  14853. Pre conditions
  14854. None.
  14855.  
  14856. Post conditions
  14857. None.
  14858.  
  14859. æKY ODFacet::Purge
  14860. Facet::Purge
  14861. Facet->Purge
  14862. æT Class Method
  14863. æD ODSize Purge(
  14864. ODSize size);
  14865.  
  14866. æC Protection
  14867.     Public.  
  14868.  
  14869. Override policy
  14870.     Derived class can override.
  14871.     Derived class can call base class behavior, during derived class behavior.
  14872.  
  14873. Basic operation
  14874. Attempt to free up to "size" bytes of memory by releasing
  14875. non-essential internal resources.
  14876.  
  14877. Inputs
  14878. size
  14879.     The number of bytes to attempt to free.
  14880.  
  14881. Outputs
  14882. <return>
  14883.     The number of bytes actually freed.
  14884.  
  14885. Exceptions Signalled
  14886. None.
  14887.  
  14888. Pre conditions
  14889. None.
  14890.  
  14891. Post conditions
  14892. Facet has released some non-essential internal resources.
  14893.  
  14894. æKY ODFacet::RemoveFacet
  14895. Facet::RemoveFacet
  14896. Facet->RemoveFacet
  14897. æT Class Method
  14898. æD void RemoveFacet(
  14899. ODFacet* facet);
  14900.  
  14901. æC Protection
  14902.     Public.  
  14903.  
  14904. Override policy
  14905.     Derived class can override.
  14906.     Derived class can call base class behavior, during derived class behavior.
  14907.  
  14908. Basic operation
  14909. Asks a facet to remove one of its child facets. This request should be
  14910. made by a facet's part prior to removing one of its embedded frames,
  14911. or optionally when scrolling an embedded frame out of view. The
  14912. removed facet's part will be notified that a facet has been removed
  14913. from its frame [ODPart::FacetRemoved(facet)]. The caller should then
  14914. delete the removed facet.
  14915.  
  14916. Inputs
  14917. facet
  14918.     The child facet to remove.
  14919.  
  14920. Outputs
  14921. None.
  14922.  
  14923. Exceptions Signalled
  14924. kODErrInvalidFacet
  14925.     "facet" is not a child of the receiver.
  14926.  
  14927. Pre conditions
  14928. "facet" must be a child of the receiver.
  14929.  
  14930. Post conditions
  14931. "facet" should not be used again. Ready to be deleted by the caller.
  14932.  
  14933. æKY ODFacet::SetCanvas
  14934. Facet::SetCanvas
  14935. Facet->SetCanvas
  14936. æT Class Method
  14937. æD void SetCanvas(
  14938. ODCanvas* canvas);
  14939.  
  14940. æC Protection
  14941.     Public.  
  14942.  
  14943. Override policy
  14944.     Derived class can override.
  14945.     Derived class can call base class behavior, during derived class behavior.
  14946.  
  14947. Basic operation
  14948. Set the canvas of this facet. After this operation, this facet and its
  14949. children should image on that canvas. 
  14950.  
  14951. Mac only: The facet does NOT assume responsibility for deallocating
  14952. the canvas' storage.
  14953.  
  14954. Inputs
  14955. canvas
  14956.     The new canvas.
  14957.  
  14958. Outputs
  14959. None.
  14960.  
  14961. Exceptions Signalled
  14962. None.
  14963.  
  14964. Pre conditions
  14965. None.
  14966.  
  14967. Post conditions
  14968. None.
  14969.  
  14970. æKY ODFacet::SetNeedsUpdate
  14971. Facet::SetNeedsUpdate
  14972. Facet->SetNeedsUpdate
  14973. æT Class Method
  14974. æD void SetNeedsUpdate(
  14975. ODBoolean needsUpdate);
  14976.  
  14977. æC Protection
  14978.     Protected.  Only called by facets.
  14979.  
  14980. Override policy
  14981.     Derived class can override.
  14982.     Derived class can call base class behavior, during derived class behavior.
  14983.  
  14984. Basic operation
  14985. None.
  14986.  
  14987. Inputs
  14988. None.
  14989.  
  14990. Outputs
  14991. None.
  14992.  
  14993. Exceptions Signalled
  14994. None.
  14995.  
  14996. Pre conditions
  14997. None.
  14998.  
  14999. Post conditions
  15000. None.
  15001.  
  15002. æKY ODFacet::SetPartInfo
  15003. Facet::SetPartInfo
  15004. Facet->SetPartInfo
  15005. æT Class Method
  15006. æD void SetPartInfo(
  15007. ODInfoType partInfo);
  15008.  
  15009. æC Protection
  15010.     Public.  
  15011.  
  15012. Override policy
  15013.     Derived class can override.
  15014.     Derived class can call base class behavior, during derived class behavior.
  15015.  
  15016. Basic operation
  15017. Set the partInfo data for this facet. PartInfo should only be set by a
  15018. facet's part.
  15019.  
  15020. Inputs
  15021. partInfo
  15022.     The new partInfo for this facet.
  15023.  
  15024. Outputs
  15025. None.
  15026.  
  15027. Exceptions Signalled
  15028. None.
  15029.  
  15030. Pre conditions
  15031. None.
  15032.  
  15033. Post conditions
  15034. None.
  15035.  
  15036. æKY ODFacet::SetSelected
  15037. Facet::SetSelected
  15038. Facet->SetSelected
  15039. æT Class Method
  15040. æD void SetSelected(
  15041. ODBoolean isSelected);
  15042.  
  15043. æC Protection
  15044.     Public.  
  15045.  
  15046. Override policy
  15047.     Derived class can override.
  15048.     Derived class can call base class behavior, during derived class behavior.
  15049.  
  15050. Basic operation
  15051. Set the facet's isSelected flag.
  15052.  
  15053. Inputs
  15054. isSelected
  15055.     The new value of the flag. True if the facet is selected within its
  15056. containing part.
  15057.  
  15058. Outputs
  15059. None.
  15060.  
  15061. Exceptions Signalled
  15062. None.
  15063.  
  15064. Pre conditions
  15065. None.
  15066.  
  15067. Post conditions
  15068. None.
  15069.  
  15070. æKY ODFacet::Update
  15071. Facet::Update
  15072. Facet->Update
  15073. æT Class Method
  15074. æD void Update(
  15075. ODShape* invalidShape,
  15076. ODCanvas* biasCanvas);
  15077.  
  15078. æC Protection
  15079.     Public.  
  15080.  
  15081. Override policy
  15082.     Derived class can override.
  15083.     Derived class can call base class behavior, during derived class behavior.
  15084.  
  15085. Basic operation
  15086. Update the facet's canvas in the invalidShape by drawing this facet
  15087. and any of its children whose clipShape intersects invalidShape.
  15088.  
  15089. Inputs
  15090. invalidShape
  15091.     The shape in which the facet's canvas must be repainted. In window
  15092. coordinates.
  15093. biasCanvas
  15094.     The canvas to whose coordinate space the call is biased. May be
  15095. kODNULL if the geometry is in the standard platform coordinate bias.
  15096.  
  15097. Outputs
  15098. None.
  15099.  
  15100. Exceptions Signalled
  15101. None.
  15102.  
  15103. Pre conditions
  15104. None.
  15105.  
  15106. Post conditions
  15107. None.
  15108.  
  15109. æKY ODFacet::Validate
  15110. Facet::Validate
  15111. Facet->Validate
  15112. æT Class Method
  15113. æD void Validate(
  15114. ODShape* validShape,
  15115. ODCanvas* biasCanvas);
  15116.  
  15117. æC Protection
  15118.     Public.  
  15119.  
  15120. Override policy
  15121.     Derived class can override.
  15122.     Derived class can call base class behavior, during derived class behavior.
  15123.  
  15124. Basic operation
  15125. Cause the underlying graphics system to mark the area in validShape as
  15126. no longer needing repainting.
  15127.  
  15128. Inputs
  15129. validShape
  15130.     The shape to mark as valid. In frame coordinates.
  15131. biasCanvas
  15132.     The canvas to whose coordinate space the call is biased. May be
  15133. kODNULL if the geometry is in the standard platform coordinate bias.
  15134.  
  15135. Outputs
  15136. None.
  15137.  
  15138. Exceptions Signalled
  15139. None.
  15140.  
  15141. Pre conditions
  15142. None.
  15143.  
  15144. Post conditions
  15145. None.
  15146.  
  15147. æKY ODFacet::fActiveShape
  15148. Facet::fActiveShape
  15149. æT Class Field
  15150. æD ODShape*
  15151. æC 
  15152. æKY ODFacet::fAggregateClipShape
  15153. Facet::fAggregateClipShape
  15154. æT Class Field
  15155. æD ODShape*
  15156. æC 
  15157. æKY ODFacet::fCanvas
  15158. Facet::fCanvas
  15159. æT Class Field
  15160. æD ODCanvas*
  15161. æC 
  15162. æKY ODFacet::fClipShape
  15163. Facet::fClipShape
  15164. æT Class Field
  15165. æD ODShape*
  15166. æC 
  15167. æKY ODFacet::fContentTransform
  15168. Facet::fContentTransform
  15169. æT Class Field
  15170. æD ODTransform*
  15171. æC 
  15172. æKY ODFacet::fExternalTransform
  15173. Facet::fExternalTransform
  15174. æT Class Field
  15175. æD ODTransform*
  15176. æC 
  15177. æKY ODFacet::fFrame
  15178. Facet::fFrame
  15179. æT Class Field
  15180. æD ODFrame*
  15181. æC 
  15182. æKY ODFacet::fFrameTransform
  15183. Facet::fFrameTransform
  15184. æT Class Field
  15185. æD ODTransform*
  15186. æC 
  15187. æKY ODFacet::fHighlight
  15188. Facet::fHighlight
  15189. æT Class Field
  15190. æD ODHighlight
  15191. æC 
  15192. æKY ODFacet::fIsSelected
  15193. Facet::fIsSelected
  15194. æT Class Field
  15195. æD ODBoolean
  15196. æC 
  15197. æKY ODFacet::fNeedsUpdate
  15198. Facet::fNeedsUpdate
  15199. æT Class Field
  15200. æD ODBoolean
  15201. æC 
  15202. æKY ODFacet::fNode
  15203. Facet::fNode
  15204. æT Class Field
  15205. æD FacetNode*
  15206. æC 
  15207. æKY ODFacet::fPartInfo
  15208. Facet::fPartInfo
  15209. æT Class Field
  15210. æD ODInfoType
  15211. æC 
  15212. æKY ODFacet::fWindowAggregateClipShape
  15213. Facet::fWindowAggregateClipShape
  15214. æT Class Field
  15215. æD ODShape*
  15216. æC 
  15217. æKY ODFacet::fWindowContentTransform
  15218. Facet::fWindowContentTransform
  15219. æT Class Field
  15220. æD ODTransform*
  15221. æC 
  15222. æKY ODFacet::fWindowFrameTransform
  15223. Facet::fWindowFrameTransform
  15224. æT Class Field
  15225. æD ODTransform*
  15226. æC 
  15227.  
  15228. æKY ODFacetIteratorHelp
  15229. ODFacetIterator
  15230. FacetIterator
  15231. æKL ODFacetIterator::ODFacetIterator
  15232. ODFacetIterator::~ODFacetIterator
  15233. ODFacetIterator::First
  15234. ODFacetIterator::IsNotComplete
  15235. ODFacetIterator::Next
  15236. ODFacetIterator::SkipChildren
  15237. æC Basic Class Documentation
  15238. Ancestors: none
  15239.  
  15240. ODFacetIterator is a companion to class ODFacet. It allows iteration
  15241. of all the children of a facet.
  15242.  
  15243. Parts, container applications, or other classes may need to iterate
  15244. facets. All can instatiate this class.
  15245.  
  15246. There are three ways to use an ODFacetIterator, depending on the
  15247. traversalType specified when the iterator is created. kODTopDown
  15248. starts with the specified facet, and walks depth-first down the
  15249. sub-tree from that as the root. kODBottomUp starts at the leftmost
  15250. leaf, and walks depth-first up the tree to the root. kODChildrenOnly
  15251. simply iterates only the direct children of the specified facet.
  15252.  
  15253. In a top-down traversal, the method SkipChildren() can be used to
  15254. advance the next item to skip over the current item's children.
  15255.  
  15256. Theory of Operation
  15257.  
  15258.  
  15259. Invariants Maintained by Class
  15260.  
  15261. æKY ODFacetIterator::ODFacetIterator
  15262. FacetIterator::ODFacetIterator
  15263. FacetIterator->ODFacetIterator
  15264. æT Class Method
  15265. æD ODFacetIterator(
  15266. ODFacet* facet,
  15267. ODTraversalType traversalType,
  15268. ODSiblingOrder siblingOrder);
  15269.  
  15270. æC Protection
  15271.     Public.  
  15272.  
  15273. Override policy
  15274.     Derived class can override.
  15275.     Derived class can call base class behavior, during derived class behavior.
  15276.  
  15277. Basic operation
  15278. Construct an iterator on facet and its child facets.
  15279.  
  15280. Inputs
  15281. facet
  15282.     Root of the sub-tree of facets the iterator will traverse.
  15283. traversalType
  15284.     kODTopDown: start at "facet" and walk down depth-first. kODBottomUp:
  15285. start at bottom of tree and walk up to root. kODChildrenOnly: only the
  15286. direct children of "facet".
  15287. siblingOrder
  15288.     kODFrontToBack, kODBackToFront
  15289.  
  15290. Outputs
  15291. None.
  15292.  
  15293. Exceptions Signalled
  15294. None.
  15295.  
  15296. Pre conditions
  15297. None.
  15298.  
  15299. Post conditions
  15300. None.
  15301.  
  15302. æKY ODFacetIterator::~ODFacetIterator
  15303. FacetIterator::~ODFacetIterator
  15304. FacetIterator->~ODFacetIterator
  15305. æT Class Method
  15306. æD ~ODFacetIterator();
  15307.  
  15308. æC Protection
  15309.     Public.  
  15310.  
  15311. Override policy
  15312.     Derived class can override.
  15313.     Derived class can call base class behavior, during derived class behavior.
  15314.  
  15315. Basic operation
  15316. Destructor.
  15317.  
  15318. Inputs
  15319. None.
  15320.  
  15321. Outputs
  15322. None.
  15323.  
  15324. Exceptions Signalled
  15325. None.
  15326.  
  15327. Pre conditions
  15328. None.
  15329.  
  15330. Post conditions
  15331. None.
  15332.  
  15333. æKY ODFacetIterator::First
  15334. FacetIterator::First
  15335. FacetIterator->First
  15336. æT Class Method
  15337. æD ODFacet* First();
  15338.  
  15339. æC Protection
  15340.     Public.  
  15341.  
  15342. Override policy
  15343.     Derived class can override.
  15344.     Derived class can call base class behavior, during derived class behavior.
  15345.  
  15346. Basic operation
  15347. Return the first facet specified by the traversalType and siblingOrder
  15348. of this iterator.
  15349.  
  15350. Inputs
  15351. None.
  15352.  
  15353. Outputs
  15354. <return>
  15355.     The first facet in the sequence.
  15356.  
  15357. Exceptions Signalled
  15358. None.
  15359.  
  15360. Pre conditions
  15361. None.
  15362.  
  15363. Post conditions
  15364. None.
  15365.  
  15366. æKY ODFacetIterator::IsNotComplete
  15367. FacetIterator::IsNotComplete
  15368. FacetIterator->IsNotComplete
  15369. æT Class Method
  15370. æD ODBoolean IsNotComplete();
  15371.  
  15372. æC Protection
  15373.     Public.  
  15374.  
  15375. Override policy
  15376.     Derived class can override.
  15377.     Derived class can call base class behavior, during derived class behavior.
  15378.  
  15379. Basic operation
  15380. Return whether the last item returned from First() or Next() was
  15381. valid.
  15382.  
  15383. Inputs
  15384. None.
  15385.  
  15386. Outputs
  15387. <return>
  15388.     True if iterator is not yet complete, false otherwise.
  15389.  
  15390. Exceptions Signalled
  15391. None.
  15392.  
  15393. Pre conditions
  15394. None.
  15395.  
  15396. Post conditions
  15397. None.
  15398.  
  15399. æKY ODFacetIterator::Next
  15400. FacetIterator::Next
  15401. FacetIterator->Next
  15402. æT Class Method
  15403. æD ODFacet* Next();
  15404.  
  15405. æC Protection
  15406.     Public.  
  15407.  
  15408. Override policy
  15409.     Derived class can override.
  15410.     Derived class can call base class behavior, during derived class behavior.
  15411.  
  15412. Basic operation
  15413. Answer the next facet in the sequence.
  15414.  
  15415. Inputs
  15416. None.
  15417.  
  15418. Outputs
  15419. <return>
  15420.     The next facet.
  15421.  
  15422. Exceptions Signalled
  15423. None.
  15424.  
  15425. Pre conditions
  15426. None.
  15427.  
  15428. Post conditions
  15429. None.
  15430.  
  15431. æKY ODFacetIterator::SkipChildren
  15432. FacetIterator::SkipChildren
  15433. FacetIterator->SkipChildren
  15434. æT Class Method
  15435. æD void SkipChildren();
  15436.  
  15437. æC Protection
  15438.     Public.  
  15439.  
  15440. Override policy
  15441.     Derived class can override.
  15442.     Derived class can call base class behavior, during derived class behavior.
  15443.  
  15444. Basic operation
  15445. If traversalType is kODTopDown, this causes the sequence to skip any
  15446. children of the current item, if any. For other traversal types, it
  15447. has no effect.
  15448.  
  15449. Inputs
  15450. None.
  15451.  
  15452. Outputs
  15453. None.
  15454.  
  15455. Exceptions Signalled
  15456. None.
  15457.  
  15458. Pre conditions
  15459. None.
  15460.  
  15461. Post conditions
  15462. None.
  15463.  
  15464.  
  15465. æKY ODFocusModuleHelp
  15466. ODFocusModule
  15467. FocusModule
  15468. æKL ODFocusModule::ODFocusModule
  15469. ODFocusModule::~ODFocusModule
  15470. ODFocusModule::AbortRelingquishFocus
  15471. ODFocusModule::BeginRelinquishFocus
  15472. ODFocusModule::CommitRelinquishFocus
  15473. ODFocusModule::CreateOwnerIterator
  15474. ODFocusModule::GetFocusOwner
  15475. ODFocusModule::InitFocusModule
  15476. ODFocusModule::IsFocusExclusive
  15477. ODFocusModule::SetFocusOwnership
  15478. ODFocusModule::TransferFocusOwnership
  15479. ODFocusModule::UnsetFocusOwnership
  15480. ODFocusModule::fSession
  15481. æC Basic Class Documentation
  15482. ODFocusModule is an abstract base class for focus modules, which are
  15483. the means of extensibility used by the arbitrator. The arbitrator
  15484. maintains a table of focus modules indexed by focus type.
  15485. ODFocusModule has no base class.
  15486. ODFocusModule is implemented by the platform vendor. 
  15487. Related classes are ODArbitrator, ODFocusSet and ODFocusSetIterator.
  15488.  
  15489. Theory of Operation
  15490. Instances of ODFocusModule are registered with the arbitrator, and
  15491. associated with one or more focus types. See ODArbitrator.
  15492.  
  15493. Invariants Maintained by Class
  15494. Stores the owner frame  for one or more foci.
  15495. æKY ODFocusModule::ODFocusModule
  15496. FocusModule::ODFocusModule
  15497. FocusModule->ODFocusModule
  15498. æT Class Method
  15499. æD ODFocusModule();
  15500.  
  15501. æC Protection
  15502.     Public.  Parts and container apps would typically only create focus modules
  15503. that they temselves define.
  15504.  
  15505. Override policy
  15506.     Derived class cannot override.
  15507.     Derived class cannot call base class behavior, before derived class behavior.
  15508.  
  15509. Basic operation
  15510. Constructs a focus module. The InitFocusModule method must also be
  15511. called.
  15512.  
  15513. Inputs
  15514. None.
  15515.  
  15516. Outputs
  15517. None.
  15518.  
  15519. Exceptions Signalled
  15520. None.
  15521.  
  15522. Pre conditions
  15523. None.
  15524.  
  15525. Post conditions
  15526. The object is constructed, but not ready for use until InitFocusModule
  15527. is called.
  15528.  
  15529. æKY ODFocusModule::~ODFocusModule
  15530. FocusModule::~ODFocusModule
  15531. FocusModule->~ODFocusModule
  15532. æT Class Method
  15533. æD ~ODFocusModule();
  15534.  
  15535. æC Protection
  15536.     Public.  The arbitrator deletes installed focus modules.
  15537.  
  15538. Override policy
  15539.     Derived class cannot override.
  15540.     Derived class cannot call base class behavior, during derived class behavior.
  15541.  
  15542. Basic operation
  15543. Frees the memory allocated by this object.
  15544.  
  15545. Inputs
  15546. None.
  15547.  
  15548. Outputs
  15549. None.
  15550.  
  15551. Exceptions Signalled
  15552. None.
  15553.  
  15554. Pre conditions
  15555. A valid instance.
  15556.  
  15557. Post conditions
  15558. The memory used by this object is freed.
  15559.  
  15560. æKY ODFocusModule::AbortRelingquishFocus
  15561. FocusModule::AbortRelingquishFocus
  15562. FocusModule->AbortRelingquishFocus
  15563. æT Class Method
  15564. æD void AbortRelinquishFocus(
  15565. ODTypeToken focus,
  15566. ODFrame* requestingFrame);
  15567.  
  15568. æC Protection
  15569.     Public.  Called only by ODArbitrator. Part Editors call ODArbitrator
  15570. methods.Implementors of focus modules need not override this method.
  15571.  
  15572. Override policy
  15573.     Derived class can override.
  15574.     Derived class can call base class behavior, during derived class behavior.
  15575.  
  15576. Basic operation
  15577. Implementation detail.
  15578.  
  15579. Inputs
  15580. focus
  15581.     A token for a focus
  15582. requestingFrame
  15583.     The new owner of the focus
  15584.  
  15585. Outputs
  15586. None.
  15587.  
  15588. Exceptions Signalled
  15589. None.
  15590.  
  15591. Pre conditions
  15592. A valid focus and frame. BeginRelinquishFocus returned kODFalse for
  15593. one of the elements of the requested focus set.
  15594.  
  15595. Post conditions
  15596. The owner part has undone any changes it made when asked
  15597. toBeginRelinquishFocus().
  15598.  
  15599. æKY ODFocusModule::BeginRelinquishFocus
  15600. FocusModule::BeginRelinquishFocus
  15601. FocusModule->BeginRelinquishFocus
  15602. æT Class Method
  15603. æD ODBoolean BeginRelinquishFocus(
  15604. ODTypeToken focus,
  15605. ODFrame* requestingFrame);
  15606.  
  15607. æC Protection
  15608.     Public.  Called only by ODArbitrator. Part Editors call ODArbitrator methods.
  15609. Implementors of focus modules need not override this method.
  15610.  
  15611. Override policy
  15612.     Derived class can override.
  15613.     Derived class can call base class behavior, during derived class behavior.
  15614.  
  15615. Basic operation
  15616. Implementation detail.
  15617.  
  15618. Inputs
  15619. focus
  15620.     A token for a focus
  15621. requestingFrame
  15622.     The potential new owner frame of the focus.
  15623.  
  15624. Outputs
  15625. <return>
  15626.     kODTrue if the current owner is willing to give up ownership.
  15627.  
  15628. Exceptions Signalled
  15629. None.
  15630.  
  15631. Pre conditions
  15632. A valid focus,  and frame.
  15633.  
  15634. Post conditions
  15635. The function result expresses the current owner's willingness to
  15636. relinquish the focus.
  15637.  
  15638. æKY ODFocusModule::CommitRelinquishFocus
  15639. FocusModule::CommitRelinquishFocus
  15640. FocusModule->CommitRelinquishFocus
  15641. æT Class Method
  15642. æD void CommitRelinquishFocus(
  15643. ODTypeToken focus,
  15644. ODFrame* requestingFrame);
  15645.  
  15646. æC Protection
  15647.     Public.  Called only by ODArbitrator. Part Editors call ODArbitrator
  15648. methods.Implementors of focus modules need not override this method.
  15649.  
  15650. Override policy
  15651.     Derived class can override.
  15652.     Derived class can call base class behavior, during derived class behavior.
  15653.  
  15654. Basic operation
  15655. Implementation detail
  15656.  
  15657. Inputs
  15658. focus
  15659.     A token for a focus
  15660. requestingFrame
  15661.     The new owner of the focus.
  15662.  
  15663. Outputs
  15664. None.
  15665.  
  15666. Exceptions Signalled
  15667. None.
  15668.  
  15669. Pre conditions
  15670. A valid focus and frame.BeginRelinquishFocus was called with the same
  15671. focus, and returned kODTrue.
  15672.  
  15673. Post conditions
  15674. Part-dependent.
  15675.  
  15676. æKY ODFocusModule::CreateOwnerIterator
  15677. FocusModule::CreateOwnerIterator
  15678. FocusModule->CreateOwnerIterator
  15679. æT Class Method
  15680. æD ODFocusOwnerIterator* CreateOwnerIterator(
  15681. ODTypeToken focus);
  15682.  
  15683. æC Protection
  15684.     Public.  Called by ODArbitrator. Part Editors call ODArbitrator methods.
  15685.  
  15686. Override policy
  15687.     Derived class can override.
  15688.     Derived class can call base class behavior, during derived class behavior.
  15689.  
  15690. Basic operation
  15691. Returns an iterator for the owners of a non-exclusive focus. The
  15692. caller must delete the iterator.
  15693.  
  15694. Inputs
  15695. focus
  15696.     Atoken for a focus
  15697.  
  15698. Outputs
  15699. <return>
  15700.     The iterator
  15701.  
  15702. Exceptions Signalled
  15703. None.
  15704.  
  15705. Pre conditions
  15706. A valid focus.
  15707.  
  15708. Post conditions
  15709. Result contains new iterator.
  15710.  
  15711. æKY ODFocusModule::GetFocusOwner
  15712. FocusModule::GetFocusOwner
  15713. FocusModule->GetFocusOwner
  15714. æT Class Method
  15715. æD ODFrame* GetFocusOwner(
  15716. ODTypeToken focus);
  15717.  
  15718. æC Protection
  15719.     Public.  Called by ODArbitrator. Part Editors call ODArbitrator::GetFocusOwner.
  15720.  
  15721. Override policy
  15722.     Derived class must override.
  15723.     Derived class can call base class behavior, during derived class behavior.
  15724.  
  15725. Basic operation
  15726. Returns the current owner  frame for the specified focus.
  15727.  
  15728. Inputs
  15729. focus
  15730.     A token for a focus
  15731.  
  15732. Outputs
  15733. <return>
  15734.     The owner frame
  15735.  
  15736. Exceptions Signalled
  15737. None.
  15738.  
  15739. Pre conditions
  15740. A valid focus.
  15741.  
  15742. Post conditions
  15743. The  owner frame is returned.
  15744.  
  15745. æKY ODFocusModule::InitFocusModule
  15746. FocusModule::InitFocusModule
  15747. FocusModule->InitFocusModule
  15748. æT Class Method
  15749. æD void InitFocusModule(
  15750. ODSession* session);
  15751.  
  15752. æC Protection
  15753.     Public.  Parts and container apps would typically only create focus modules
  15754. that they temselves define.
  15755.  
  15756. Override policy
  15757.     Derived class cannot override.
  15758.     Derived class cannot call base class behavior, during derived class behavior.
  15759.  
  15760. Basic operation
  15761. Initializes the focus module.
  15762.  
  15763. Inputs
  15764. session
  15765.     The OpenDoc session object.
  15766.  
  15767. Outputs
  15768. None.
  15769.  
  15770. Exceptions Signalled
  15771. None.
  15772.  
  15773. Pre conditions
  15774. A constructed instance.
  15775.  
  15776. Post conditions
  15777. An initialize and usable instance.
  15778.  
  15779. æKY ODFocusModule::IsFocusExclusive
  15780. FocusModule::IsFocusExclusive
  15781. FocusModule->IsFocusExclusive
  15782. æT Class Method
  15783. æD ODBoolean IsFocusExclusive(
  15784. ODTypeToken focus);
  15785.  
  15786. æC Protection
  15787.     Public.  Called by Arbitrator. Can be called by parts.
  15788.  
  15789. Override policy
  15790.     Derived class can override.
  15791.     Derived class can call base class behavior, during derived class behavior.
  15792.  
  15793. Basic operation
  15794. Returns kODTrue if the specified focus is exclusive
  15795.  
  15796. Inputs
  15797. focus
  15798.     A token for a registered focus.
  15799.  
  15800. Outputs
  15801. <return>
  15802.     kODTrue if the specified focus is exclusive, kODFalse otherwise.
  15803.  
  15804. Exceptions Signalled
  15805. None.
  15806.  
  15807. Pre conditions
  15808. A valid initialized instance.
  15809.  
  15810. Post conditions
  15811. No effect on internal state.
  15812.  
  15813. æKY ODFocusModule::SetFocusOwnership
  15814. FocusModule::SetFocusOwnership
  15815. FocusModule->SetFocusOwnership
  15816. æT Class Method
  15817. æD void SetFocusOwnership(
  15818. ODTypeToken focus,
  15819. ODFrame* frame);
  15820.  
  15821. æC Protection
  15822.     Public.  Called by ODArbitrator. Part Editors call ODArbitrator methods.
  15823.  
  15824. Override policy
  15825.     Derived class can override.
  15826.     Derived class can call base class behavior, during derived class behavior.
  15827.  
  15828. Basic operation
  15829. Stores the  frame as the owner of the specified focus. If this focus
  15830. module manages more than one focus, a table must be maintained.
  15831.  
  15832. Inputs
  15833. focus
  15834.     A token for a focus
  15835. frame
  15836.     The new owner frame
  15837.  
  15838. Outputs
  15839. None.
  15840.  
  15841. Exceptions Signalled
  15842. kODErrInvalidFrame
  15843.     The specified frame is invalid 
  15844.  
  15845. Pre conditions
  15846. A valid focus,  and frame. 
  15847.  
  15848. Post conditions
  15849. Ownership is stored.
  15850.  
  15851. æKY ODFocusModule::TransferFocusOwnership
  15852. FocusModule::TransferFocusOwnership
  15853. FocusModule->TransferFocusOwnership
  15854. æT Class Method
  15855. æD void TransferFocusOwnership(
  15856. ODTypeToken focus,
  15857. ODFrame* frame);
  15858.  
  15859. æC Protection
  15860.     Public.  Called by ODArbitrator. Part Editors call ODArbitrator methods.
  15861.  
  15862. Override policy
  15863.     Derived class can override.
  15864.     Derived class can call base class behavior, during derived class behavior.
  15865.  
  15866. Basic operation
  15867. Transfers ownership of the focus to the new frame.
  15868.  
  15869. Inputs
  15870. focus
  15871.     A token for a focus
  15872. frame
  15873.     The new owner frame
  15874.  
  15875. Outputs
  15876. None.
  15877.  
  15878. Exceptions Signalled
  15879. kODErrInvalidFrame
  15880.     The specified frame is invalid 
  15881.  
  15882. Pre conditions
  15883. None.
  15884.  
  15885. Post conditions
  15886. None.
  15887.  
  15888. æKY ODFocusModule::UnsetFocusOwnership
  15889. FocusModule::UnsetFocusOwnership
  15890. FocusModule->UnsetFocusOwnership
  15891. æT Class Method
  15892. æD void UnsetFocusOwnership(
  15893. ODTypeToken focus,
  15894. ODFrame* frame);
  15895.  
  15896. æC Protection
  15897.     Public.  Called by ODArbitrator. Part Editors call ODArbitrator methods.
  15898.  
  15899. Override policy
  15900.     Derived class can override.
  15901.     Derived class can call base class behavior, during derived class behavior.
  15902.  
  15903. Basic operation
  15904. Store kODNULL  as the owner of the specified focus.
  15905.  
  15906. Inputs
  15907. focus
  15908.     A token for a focus
  15909. frame
  15910.     The current owner of the focus
  15911.  
  15912. Outputs
  15913. None.
  15914.  
  15915. Exceptions Signalled
  15916. kODErrInvalidFrame
  15917.     The specified frame is invalid
  15918.  
  15919. Pre conditions
  15920. A valid focus,  and frame.
  15921.  
  15922. Post conditions
  15923. Ownership is removed.
  15924.  
  15925. æKY ODFocusModule::fSession
  15926. FocusModule::fSession
  15927. æT Class Field
  15928. æD ODSession* fSession;
  15929. æC 
  15930.  
  15931. æKY ODFocusOwnerIteratorHelp
  15932. ODFocusOwnerIterator
  15933. FocusOwnerIterator
  15934. æKL ODFocusOwnerIterator::ODFocusOwnerIterator
  15935. ODFocusOwnerIterator::~ODFocusOwnerIterator
  15936. ODFocusOwnerIterator::First
  15937. ODFocusOwnerIterator::InitFocusOwnerIterator
  15938. ODFocusOwnerIterator::IsNotComplete
  15939. ODFocusOwnerIterator::Next
  15940. ODFocusOwnerIterator::fFocus
  15941. ODFocusOwnerIterator::fFocusModule
  15942. æC Basic Class Documentation
  15943. ODFocusOwnerIterator is an abstract class. Focus modules for
  15944. non-exclusive foci must implement a subclass of this class.
  15945. ODFocusOwnerIterator has no base class.
  15946. Related classes are ODArbitrator and ODFocusModule
  15947.  
  15948. Theory of Operation
  15949. ODFocusOwnerIterator allows a dispatch module or other client to
  15950. iterate over the owners of a non-exclusive focus in a loop, using the
  15951. iterator's First(), Next() and IsNotComplete() methods. 
  15952.  
  15953. Invariants Maintained by Class
  15954. The iterator stores a reference to the focus module which stores the
  15955. list of owners. Subclasses may add additional invariants.
  15956. æKY ODFocusOwnerIterator::ODFocusOwnerIterator
  15957. FocusOwnerIterator::ODFocusOwnerIterator
  15958. FocusOwnerIterator->ODFocusOwnerIterator
  15959. æT Class Method
  15960. æD ODFocusOwnerIterator();
  15961.  
  15962. æC Protection
  15963.     Public.  Part Editors should call ODArbitrator::CreateOwnerIterator().
  15964. Implementors of focus modules should provide their owne constructor.
  15965.  
  15966. Override policy
  15967.     Derived class cannot override.
  15968.     Derived class cannot call base class behavior.
  15969.  
  15970. Basic operation
  15971. Constructs the iterator.
  15972.  
  15973. Inputs
  15974. None.
  15975.  
  15976. Outputs
  15977. None.
  15978.  
  15979. Exceptions Signalled
  15980. None.
  15981.  
  15982. Pre conditions
  15983. None.
  15984.  
  15985. Post conditions
  15986. Iterator is constructed, but not usable until InitFocusOwnerIterator
  15987. is called.
  15988.  
  15989. æKY ODFocusOwnerIterator::~ODFocusOwnerIterator
  15990. FocusOwnerIterator::~ODFocusOwnerIterator
  15991. FocusOwnerIterator->~ODFocusOwnerIterator
  15992. æT Class Method
  15993. æD ~ODFocusOwnerIterator();
  15994.  
  15995. æC Protection
  15996.     Public.  Implementors of focus modules should provide their owne destructor.
  15997.  
  15998. Override policy
  15999.     Derived class cannot override.
  16000.     Derived class cannot call base class behavior.
  16001.  
  16002. Basic operation
  16003. Frees the memory allocated by this class.
  16004.  
  16005. Inputs
  16006. None.
  16007.  
  16008. Outputs
  16009. None.
  16010.  
  16011. Exceptions Signalled
  16012. None.
  16013.  
  16014. Pre conditions
  16015. A constructed and initialized instance.
  16016.  
  16017. Post conditions
  16018. The memory used by the instance has been freed.
  16019.  
  16020. æKY ODFocusOwnerIterator::First
  16021. FocusOwnerIterator::First
  16022. FocusOwnerIterator->First
  16023. æT Class Method
  16024. æD ODFrame* First();
  16025.  
  16026. æC Protection
  16027.     Public.  
  16028.  
  16029. Override policy
  16030.     Derived class must override.
  16031.     Derived class cannot call base class behavior.
  16032.  
  16033. Basic operation
  16034. Should return the first frame which is an owner of this non-exclusive
  16035. focus.
  16036.  
  16037. Inputs
  16038. None.
  16039.  
  16040. Outputs
  16041. <return>
  16042.     The first owner frame
  16043.  
  16044. Exceptions Signalled
  16045. None.
  16046.  
  16047. Pre conditions
  16048. A valid initialized instance.
  16049.  
  16050. Post conditions
  16051. Internal position is advanced.
  16052.  
  16053. æKY ODFocusOwnerIterator::InitFocusOwnerIterator
  16054. FocusOwnerIterator::InitFocusOwnerIterator
  16055. FocusOwnerIterator->InitFocusOwnerIterator
  16056. æT Class Method
  16057. æD void InitFocusOwnerIterator(
  16058. ODTypeToken focus,
  16059. ODFocusModule* module);
  16060.  
  16061. æC Protection
  16062.     Public.  Clients should call ODArbitrator::CreateOwnerIterator().  Implementors
  16063. of focus modules should provide their owne Init method.
  16064.  
  16065. Override policy
  16066.     Derived class can override.
  16067.     Derived class can call base class behavior.
  16068.  
  16069. Basic operation
  16070. Initialize the iterator.
  16071.  
  16072. Inputs
  16073. focus
  16074.     A token for a focus
  16075. module
  16076.     The focus module which stores the owners of a non-exclusive focus.
  16077.  
  16078. Outputs
  16079. None.
  16080.  
  16081. Exceptions Signalled
  16082. kODErrInvalidFocusModule
  16083.     The specified focus module is invalid.
  16084.  
  16085. Pre conditions
  16086. A valid focus module for a non-exclusive focus.
  16087.  
  16088. Post conditions
  16089. A valid iterator exists.
  16090.  
  16091. æKY ODFocusOwnerIterator::IsNotComplete
  16092. FocusOwnerIterator::IsNotComplete
  16093. FocusOwnerIterator->IsNotComplete
  16094. æT Class Method
  16095. æD ODBoolean IsNotComplete();
  16096.  
  16097. æC Protection
  16098.     Public.  
  16099.  
  16100. Override policy
  16101.     Derived class must override.
  16102.     Derived class cannot call base class behavior.
  16103.  
  16104. Basic operation
  16105. Should return kODTrue if the iteration is not complete, kODFalse
  16106. otherwise. 
  16107.  
  16108. Inputs
  16109. None.
  16110.  
  16111. Outputs
  16112. <return>
  16113.     kODTrue if iteration is not complete, kODFalse otherwise.
  16114.  
  16115. Exceptions Signalled
  16116. None.
  16117.  
  16118. Pre conditions
  16119. A valid initialized instance.
  16120.  
  16121. Post conditions
  16122. No effect on internal state.
  16123.  
  16124. æKY ODFocusOwnerIterator::Next
  16125. FocusOwnerIterator::Next
  16126. FocusOwnerIterator->Next
  16127. æT Class Method
  16128. æD ODFrame* Next();
  16129.  
  16130. æC Protection
  16131.     Public.  
  16132.  
  16133. Override policy
  16134.     Derived class must override.
  16135.     Derived class cannot call base class behavior.
  16136.  
  16137. Basic operation
  16138. Should return the next owner frame of this non-exclusive focus.
  16139.  
  16140. Inputs
  16141. None.
  16142.  
  16143. Outputs
  16144. <return>
  16145.     The next owner frame
  16146.  
  16147. Exceptions Signalled
  16148. None.
  16149.  
  16150. Pre conditions
  16151. A valid initialized instance.
  16152.  
  16153. Post conditions
  16154. Internal position is advanced.
  16155.  
  16156. æKY ODFocusOwnerIterator::fFocus
  16157. FocusOwnerIterator::fFocus
  16158. æT Class Field
  16159. æD ODTypeToken fFocus;
  16160. æC 
  16161. æKY ODFocusOwnerIterator::fFocusModule
  16162. FocusOwnerIterator::fFocusModule
  16163. æT Class Field
  16164. æD ODFocusModule* fFocusModule;
  16165. æC 
  16166.  
  16167. æKY ODFocusSetHelp
  16168. ODFocusSet
  16169. FocusSet
  16170. æKL ODFocusSet::ODFocusSet
  16171. ODFocusSet::~ODFocusSet
  16172. ODFocusSet::Add
  16173. ODFocusSet::Contains
  16174. ODFocusSet::CreateIterator
  16175. ODFocusSet::InitFocusSet
  16176. ODFocusSet::Remove
  16177. ODFocusSet::fImplementation
  16178. æC Basic Class Documentation
  16179. An ODFocusSet is used to store a set of tokenized focus types.
  16180. ODFocusSet has no base class.
  16181. Related classes are ODFocusSetIterator and ODArbitrator.
  16182. ODFocusSet is platform-independent.
  16183. ODFocusSet participates in the Part Activation protocol.
  16184.  
  16185. Theory of Operation
  16186. A part activates itself by requesting a set of foci from the
  16187. arbitrator. The ODFocusSet class is used to store the set of foci. The
  16188. foci are of type ODFocusType (ISO strings) but the elements of the set
  16189. are tokenized strings (ODTypeToken). The ODSession object contains
  16190. methods for tokenizing.
  16191.  
  16192. ODFocusSet has methods for adding and removing foci, and for testing
  16193. membership. The companion iterator class, ODFocusSetIterator, provides
  16194. enumeration of the elements of the set. 
  16195.  
  16196. Invariants Maintained by Class
  16197. An instance of ODFocusSet contains a possibly empty set of foci . No
  16198. duplicates are allowed.
  16199. æKY ODFocusSet::ODFocusSet
  16200. FocusSet::ODFocusSet
  16201. FocusSet->ODFocusSet
  16202. æT Class Method
  16203. æD ODFocusSet();
  16204.  
  16205. æC Protection
  16206.     Public.  
  16207.  
  16208. Override policy
  16209.     Derived class cannot override.
  16210.     Derived class cannot call base class behavior, during derived class behavior.
  16211.  
  16212. Basic operation
  16213. Constructs the focus set. InitFocusSet must also be called.
  16214.  
  16215. Inputs
  16216. None.
  16217.  
  16218. Outputs
  16219. None.
  16220.  
  16221. Exceptions Signalled
  16222. None.
  16223.  
  16224. Pre conditions
  16225. None.
  16226.  
  16227. Post conditions
  16228. The set is constructed, but not ready for use until InitFocusSet is
  16229. called.
  16230.  
  16231. æKY ODFocusSet::~ODFocusSet
  16232. FocusSet::~ODFocusSet
  16233. FocusSet->~ODFocusSet
  16234. æT Class Method
  16235. æD ~ODFocusSet();
  16236.  
  16237. æC Protection
  16238.     Public.  
  16239.  
  16240. Override policy
  16241.     Derived class cannot override.
  16242.     Derived class cannot call base class behavior, during derived class behavior.
  16243.  
  16244. Basic operation
  16245. Frees the memory allocated by this object.
  16246.  
  16247. Inputs
  16248. None.
  16249.  
  16250. Outputs
  16251. None.
  16252.  
  16253. Exceptions Signalled
  16254. None.
  16255.  
  16256. Pre conditions
  16257. A valid instance.
  16258.  
  16259. Post conditions
  16260. The memory used by this object is freed.
  16261.  
  16262. æKY ODFocusSet::Add
  16263. FocusSet::Add
  16264. FocusSet->Add
  16265. æT Class Method
  16266. æD void Add(
  16267. ODTypeToken focus);
  16268.  
  16269. æC Protection
  16270.     Public.  Called by part editors.
  16271.  
  16272. Override policy
  16273.     Derived class can override.
  16274.     Derived class can call base class behavior, during derived class behavior.
  16275.  
  16276. Basic operation
  16277. Adds the specified focus to the set, if it is not already present.
  16278. Allocates a collection to store the foci, if necessary. 
  16279.  
  16280. Inputs
  16281. focus
  16282.     A token for a focus to add to the set.
  16283.  
  16284. Outputs
  16285. None
  16286.  
  16287. Exceptions Signalled
  16288. kODErrOutOfMemory
  16289.  
  16290. Pre conditions
  16291. A constructed object of this class.
  16292.  
  16293. Post conditions
  16294. The set contains the new focus.
  16295.  
  16296. æKY ODFocusSet::Contains
  16297. FocusSet::Contains
  16298. FocusSet->Contains
  16299. æT Class Method
  16300. æD ODBoolean Contains(
  16301. ODTypeToken focus);
  16302.  
  16303. æC Protection
  16304.     Public.  
  16305.  
  16306. Override policy
  16307.     Derived class can override.
  16308.     Derived class can call base class behavior, during derived class behavior.
  16309.  
  16310. Basic operation
  16311. Returns kODTrue if the specified focus is an element of the set,
  16312. kODFalse otherwise.
  16313.  
  16314. Inputs
  16315. focus
  16316.     A token for a focus to test for membership
  16317.  
  16318. Outputs
  16319. <return>
  16320.     kODTrue, if the set contains the focus, kODFalse otherwise.
  16321.  
  16322. Exceptions Signalled
  16323. None.
  16324.  
  16325. Pre conditions
  16326. A constructed object of this class.
  16327.  
  16328. Post conditions
  16329. The function result contains kODTrue if the specified focus is an
  16330. element of the set, kODFalse otherwise.
  16331.  
  16332. æKY ODFocusSet::CreateIterator
  16333. FocusSet::CreateIterator
  16334. FocusSet->CreateIterator
  16335. æT Class Method
  16336. æD ODFocusSetIterator* CreateIterator();
  16337.  
  16338. æC Protection
  16339.     Public.  
  16340.  
  16341. Override policy
  16342.     Derived class can override.
  16343.     Derived class can call base class behavior, during derived class behavior.
  16344.  
  16345. Basic operation
  16346. Creates and returns an iterator for this focus set. The caller is
  16347. responsible for deleting the iterator.
  16348.  
  16349. Inputs
  16350. None.
  16351.  
  16352. Outputs
  16353. <return>
  16354.     The iterator
  16355.  
  16356. Exceptions Signalled
  16357. None.
  16358.  
  16359. Pre conditions
  16360. A constructed object of this class.
  16361.  
  16362. Post conditions
  16363. Result contains new iterator.
  16364.  
  16365. æKY ODFocusSet::InitFocusSet
  16366. FocusSet::InitFocusSet
  16367. FocusSet->InitFocusSet
  16368. æT Class Method
  16369. æD void InitFocusSet();
  16370.  
  16371. æC Protection
  16372.     Public.  
  16373.  
  16374. Override policy
  16375.     Derived class can override.
  16376.     Derived class can call base class behavior, during derived class behavior.
  16377.  
  16378. Basic operation
  16379. Initializes the set.
  16380.  
  16381. Inputs
  16382. None.
  16383.  
  16384. Outputs
  16385. None.
  16386.  
  16387. Exceptions Signalled
  16388. None.
  16389.  
  16390. Pre conditions
  16391. A constructed instance.
  16392.  
  16393. Post conditions
  16394. Instance is usable.
  16395.  
  16396. æKY ODFocusSet::Remove
  16397. FocusSet::Remove
  16398. FocusSet->Remove
  16399. æT Class Method
  16400. æD void Remove(
  16401. ODTypeToken focus);
  16402.  
  16403. æC Protection
  16404.     Public.  
  16405.  
  16406. Override policy
  16407.     Derived class can override.
  16408.     Derived class can call base class behavior, during derived class behavior.
  16409.  
  16410. Basic operation
  16411. Removes the specified focus from the set, if it is present.
  16412.  
  16413. Inputs
  16414. focus
  16415.     A token for a focus to remove from the set
  16416.  
  16417. Outputs
  16418. None
  16419.  
  16420. Exceptions Signalled
  16421. None.
  16422.  
  16423. Pre conditions
  16424. A constructed object of this class.
  16425.  
  16426. Post conditions
  16427. The specified focus is no longer in the set.
  16428.  
  16429. æKY ODFocusSet::fImplementation
  16430. FocusSet::fImplementation
  16431. æT Class Field
  16432. æD LinkedList* fImplementation; // For example
  16433. æC 
  16434.  
  16435. æKY ODFocusSetIteratorHelp
  16436. ODFocusSetIterator
  16437. FocusSetIterator
  16438. æKL ODFocusSetIterator::ODFocusSetIterator
  16439. ODFocusSetIterator::~ODFocusSetIterator
  16440. ODFocusSetIterator::First
  16441. ODFocusSetIterator::InitFocusSetIterator
  16442. ODFocusSetIterator::IsNotComplete
  16443. ODFocusSetIterator::Next
  16444. ODFocusSetIterator::fIterator
  16445. æC Basic Class Documentation
  16446. ODFocusSetIterator is a companion of ODFocusSet, used to iterate over
  16447. the elements of a focus set.
  16448. ODFocusSetIterator has no base class.
  16449. ODFocusSetIterator is platform-independent.
  16450. Related classes are ODArbitrator, ODFocusModule and ODFocusSet.
  16451.  
  16452. Theory of Operation
  16453. Given a focus set, ODFocusSetIterator allows the developer to iterate
  16454. over the set in a loop, using the iterator's First(), Next() and
  16455. IsNotComplete() methods. 
  16456.  
  16457. Invariants Maintained by Class
  16458. The iterator contains a reference to the set, or to the underlying
  16459. collection used to implement the set.
  16460. The iterator also stores the current element, or a reference to a
  16461. lower-level collection iterator which contains that state.
  16462. æKY ODFocusSetIterator::ODFocusSetIterator
  16463. FocusSetIterator::ODFocusSetIterator
  16464. FocusSetIterator->ODFocusSetIterator
  16465. æT Class Method
  16466. æD ODFocusSetIterator();
  16467.  
  16468. æC Protection
  16469.     Public.  Clients should call ODFocusSet::CreateIterator
  16470.  
  16471. Override policy
  16472.     Derived class cannot override.
  16473.     Derived class cannot call base class behavior, during derived class behavior.
  16474.  
  16475. Basic operation
  16476. Sets fields to null values. InitFocusSetIterator must be called.
  16477.  
  16478. Inputs
  16479. None.
  16480.  
  16481. Outputs
  16482. None
  16483.  
  16484. Exceptions Signalled
  16485. None.
  16486.  
  16487. Pre conditions
  16488. None.
  16489.  
  16490. Post conditions
  16491. The instance is bit ready to use until InitFocusSetIterator is called.
  16492.  
  16493. æKY ODFocusSetIterator::~ODFocusSetIterator
  16494. FocusSetIterator::~ODFocusSetIterator
  16495. FocusSetIterator->~ODFocusSetIterator
  16496. æT Class Method
  16497. æD ~ODFocusSetIterator();
  16498.  
  16499. æC Protection
  16500.     Public.  Parts use delete operator.
  16501.  
  16502. Override policy
  16503.     Derived class cannot override.
  16504.     Derived class cannot call base class behavior, during derived class behavior.
  16505.  
  16506. Basic operation
  16507. Frees  memory allocated by this class.
  16508.  
  16509. Inputs
  16510. None.
  16511.  
  16512. Outputs
  16513. None.
  16514.  
  16515. Exceptions Signalled
  16516. None.
  16517.  
  16518. Pre conditions
  16519. A valid initialized instance.
  16520.  
  16521. Post conditions
  16522. The memory used by this object is freed.
  16523.  
  16524. æKY ODFocusSetIterator::First
  16525. FocusSetIterator::First
  16526. FocusSetIterator->First
  16527. æT Class Method
  16528. æD ODTypeToken First();
  16529.  
  16530. æC Protection
  16531.     Public.  
  16532.  
  16533. Override policy
  16534.     Derived class can override.
  16535.     Derived class can call base class behavior, during derived class behavior.
  16536.  
  16537. Basic operation
  16538. Allocates an iterator supplied by the implementation collection class.
  16539. Resets the iterator to the beginning, returns the first element, and
  16540. sets it as the current element.  
  16541.  
  16542. Inputs
  16543. None.
  16544.  
  16545. Outputs
  16546. <return>
  16547.     The first focus in the set
  16548.  
  16549. Exceptions Signalled
  16550. kODErrOutOfMemory
  16551.     Not enough memory to allocate the LinkedListIterator
  16552.  
  16553. Pre conditions
  16554. A constructed object of this class.
  16555.  
  16556. Post conditions
  16557. The first element is returned, and the iterator is advanced to be
  16558. ready to return the next element.
  16559.  
  16560. æKY ODFocusSetIterator::InitFocusSetIterator
  16561. FocusSetIterator::InitFocusSetIterator
  16562. FocusSetIterator->InitFocusSetIterator
  16563. æT Class Method
  16564. æD void InitFocusSetIterator(
  16565. ODFocusSet* focusSet);
  16566.  
  16567. æC Protection
  16568.     Public.  Parts call ODFocusSet::CreateIterator
  16569.  
  16570. Override policy
  16571.     Derived class cannot override.
  16572.     Derived class cannot call base class behavior, during derived class behavior.
  16573.  
  16574. Basic operation
  16575. Initializes the iterator. Must be calledbefore other methods are
  16576. called.
  16577.  
  16578. Inputs
  16579. focusSet
  16580.     A set of foci over which to iterate
  16581.  
  16582. Outputs
  16583. None
  16584.  
  16585. Exceptions Signalled
  16586. None.
  16587.     Constructors should not fail.
  16588.  
  16589. Pre conditions
  16590. A valid focus set.
  16591.  
  16592. Post conditions
  16593. The iterator is constructed, pointing to the first element.
  16594.  
  16595. æKY ODFocusSetIterator::IsNotComplete
  16596. FocusSetIterator::IsNotComplete
  16597. FocusSetIterator->IsNotComplete
  16598. æT Class Method
  16599. æD ODBoolean IsNotComplete();
  16600.  
  16601. æC Protection
  16602.     Public.  
  16603.  
  16604. Override policy
  16605.     Derived class can override.
  16606.     Derived class can call base class behavior, during derived class behavior.
  16607.  
  16608. Basic operation
  16609. Returns kODTrue if the iteration is not complete.
  16610.  
  16611. Inputs
  16612. None.
  16613.  
  16614. Outputs
  16615. <return>
  16616.     kODTrue, if the iteration is not complete.
  16617.  
  16618. Exceptions Signalled
  16619. None.
  16620.  
  16621. Pre conditions
  16622. A constructed object of this class.
  16623.  
  16624. Post conditions
  16625. Result contains kODTrue if the iteration is complete, kODFalse
  16626. otherwise.
  16627.  
  16628. æKY ODFocusSetIterator::Next
  16629. FocusSetIterator::Next
  16630. FocusSetIterator->Next
  16631. æT Class Method
  16632. æD ODTypeToken Next();
  16633.  
  16634. æC Protection
  16635.     Public.  
  16636.  
  16637. Override policy
  16638.     Derived class can override.
  16639.     Derived class can call base class behavior, during derived class behavior.
  16640.  
  16641. Basic operation
  16642. Returns the next element of the set.
  16643.  
  16644. Inputs
  16645. None.
  16646.  
  16647. Outputs
  16648. <return>
  16649.     The next focus in the set
  16650.  
  16651. Exceptions Signalled
  16652. None.
  16653.  
  16654. Pre conditions
  16655. First has been called.
  16656.  
  16657. Post conditions
  16658. Returns the next element. Advances the iterator state to the next
  16659. element.
  16660.  
  16661. æKY ODFocusSetIterator::fIterator
  16662. FocusSetIterator::fIterator
  16663. æT Class Field
  16664. æD LinkedListIterator* fIterator; // Private implementation
  16665. æC 
  16666.  
  16667. æKY ODFrameHelp
  16668. ODFrame
  16669. Frame
  16670. æKL ODFrame::ODFrame
  16671. ODFrame::~ODFrame
  16672. ODFrame::ChangeContentExtent
  16673. ODFrame::ChangeFrameShape
  16674. ODFrame::ChangeInternalTransform
  16675. ODFrame::ChangeLinkStatus
  16676. ODFrame::ChangePart
  16677. ODFrame::ChangePresentation
  16678. ODFrame::ChangeUsedShape
  16679. ODFrame::ChangeViewType
  16680. ODFrame::CloneTo
  16681. ODFrame::Close
  16682. ODFrame::CommonInitFrame
  16683. ODFrame::ContentChanged
  16684. ODFrame::CreateFacetIterator
  16685. ODFrame::CreateShape
  16686. ODFrame::CreateTransform
  16687. ODFrame::DoesPropagateEvents
  16688. ODFrame::DrawActiveBorder
  16689. ODFrame::EditInLink
  16690. ODFrame::Externalize
  16691. ODFrame::FacetAdded
  16692. ODFrame::FacetRemoved
  16693. ODFrame::GetContainingFrame
  16694. ODFrame::GetContentExtent
  16695. ODFrame::GetFacets
  16696. ODFrame::GetFrameGroup
  16697. ODFrame::GetFrameShape
  16698. ODFrame::GetInternalTransform
  16699. ODFrame::GetLinkStatus
  16700. ODFrame::GetPart
  16701. ODFrame::GetPartInfo
  16702. ODFrame::GetPresentation
  16703. ODFrame::GetSequenceNumber
  16704. ODFrame::GetUsedShape
  16705. ODFrame::GetViewType
  16706. ODFrame::GetWindow
  16707. ODFrame::InitFrame
  16708. ODFrame::InitFrameFromStorage
  16709. ODFrame::Invalidate
  16710. ODFrame::InvalidateActiveBorder
  16711. ODFrame::IsDragging
  16712. ODFrame::IsDroppable
  16713. ODFrame::IsFrozen
  16714. ODFrame::IsOverlaid
  16715. ODFrame::IsRoot
  16716. ODFrame::IsSubframe
  16717. ODFrame::Purge
  16718. ODFrame::Release
  16719. ODFrame::Remove
  16720. ODFrame::RequestFrameShape
  16721. ODFrame::SetContainingFrame
  16722. ODFrame::SetDragging
  16723. ODFrame::SetDroppable
  16724. ODFrame::SetFrameGroup
  16725. ODFrame::SetFrozen
  16726. ODFrame::SetPartInfo
  16727. ODFrame::SetPresentation
  16728. ODFrame::SetPropagateEvents
  16729. ODFrame::SetSequenceNumber
  16730. ODFrame::SetSubframe
  16731. ODFrame::SetViewType
  16732. ODFrame::SetWindow
  16733. ODFrame::Validate
  16734. ODFrame::fContainingFrame
  16735. ODFrame::fContentExtent
  16736. ODFrame::fDoesPropagateEvents
  16737. ODFrame::fFacets
  16738. ODFrame::fFrameGroup
  16739. ODFrame::fFrameShape
  16740. ODFrame::fGettingPart
  16741. ODFrame::fInternalTransform
  16742. ODFrame::fIsDragging
  16743. ODFrame::fIsDroppable
  16744. ODFrame::fIsFrozen
  16745. ODFrame::fIsOverlaid
  16746. ODFrame::fIsRoot
  16747. ODFrame::fIsSubframe
  16748. ODFrame::fPart
  16749. ODFrame::fPartInfo
  16750. ODFrame::fPresentation
  16751. ODFrame::fSequenceNumber
  16752. ODFrame::fUsedShape
  16753. ODFrame::fViewType
  16754. ODFrame::fWindow
  16755. æC Basic Class Documentation
  16756. Ancestors: ODFrame -> ODPersistentObject -> ODRefCountObject ->
  16757. ODObject
  16758.  
  16759. An ODFrame object (along with its facets) describes the geometric
  16760. boundary between an embedded part and its containing part. A part may
  16761. be displayed in multiple frames, and each frame represents a
  16762. particular view of its parts content. Each frame may also appear in a
  16763. window in multiple places, one for each facet of the frame.
  16764.  
  16765. Frames are created by containing parts as places to embed other parts.
  16766. Once a part has been embedded, its frame mediates negotiations between
  16767. the embedded part and its containing part.
  16768.  
  16769. Frames maintain a large amount of state information. Some of this data
  16770. is kept on behalf of the embedded part, some for the containing part,
  16771. and some small amount for the UI and Imaging subsystems.
  16772.  
  16773. A frame holds a reference to its containing frame. This will be
  16774. kODNULL if the frame is the root frame of a window. This value doesn't
  16775. usually change, but can if the frame was created before it is known
  16776. where it will be embedded. A frame does not hold direct references to
  16777. its embedded frames. Only the frame's part knows which frames are
  16778. embedded in it.
  16779.  
  16780. A frame also has a list of facets which describe where it is visible
  16781. in a window. This list may be empty if the frame is scrolled out of
  16782. view. Since the facet hierarchy is navigable, it is possible to find
  16783. some of a frame's embedded frames, by asking the frame's facet to
  16784. iterate its child facets, and thence to their frames. This technique
  16785. is fine for finding frames which are visible in a window, but it is
  16786. unreliable for finding all the frames embedded in a frame, as not all
  16787. may be visible and thus have facets.
  16788.  
  16789. A frame has two basic shapes which define its geometry. The frameShape
  16790. is the area the containing part has given to the embedded part. The
  16791. usedShape is the area the embedded part actually needs. Where
  16792. appropriate, the containing part will wrap content to the contour of
  16793. the usedShape.
  16794.  
  16795. The internalTransform is the third piece of the frame's geometry. It
  16796. describes how the part's content is scrolled or otherwise transformed
  16797. within the frame. There are two coordinate systems in the frame to
  16798. consider. There is the coordinate space of the frame itself, and there
  16799. is the coordinate space of the frame's content. The internalTransform
  16800. is the mapping from the content coordinates to the frame coordinates.
  16801.  
  16802. A frame of course has a reference to its part. The frame ensures that
  16803. it is added to the part as one of its display frames when it is
  16804. created, and removed from the part's set of display frames when it is
  16805. deleted. A frame's part may store arbitrary, uninterpreted data in the
  16806. frame's partInfo field. Only the part itself interprets or manipulates
  16807. this data, but the partInfo is stored with the frame, and only
  16808. internalized when needed for that frame.
  16809.  
  16810. There are two fields which describe how a part is displayed within a
  16811. frame. The viewType determines whether the frame is a full frame, an
  16812. icon, a thumbnail, etc. The presentation describes which kind of view
  16813. of a part is shown in the frame. Examples are: table, bar chart or pie
  16814. chart; drawing or palette; text or outline. Part's MUST support all
  16815. standard viewTypes, but the set of presentations varies from part to
  16816. part. A containing part may request a particular presentation, but the
  16817. embedded part need not honor that request.
  16818.  
  16819. Frame's have a groupID field the containing part may use to group the
  16820. frames. In cases where a containing part embeds mulitple frames
  16821. displaying the same part, it may want to group them for group editing,
  16822. etc.
  16823.  
  16824. Frames also have  a number of flags:
  16825. isRoot - the frame is the root frame of a window
  16826. isSubframe - the frame is part of a conglomerate frame (its containing
  16827. frame displays the same part as the frame itself)
  16828. isOverlaid - the frame floats about its containing part's other
  16829. content, and thus need not negotiate for space
  16830. isFrozen - frozen frames cannot be modified by geometry-based UI
  16831. events
  16832. isDroppable - the frame's part supports drag-and-drop events in this
  16833. frame
  16834. isDragging - this frame is currently being dragged, don't try to drop
  16835. items into it or its embedded frames
  16836. usesCachedImage - the frame displays a static image becuase there is
  16837. no part editor to display its part
  16838. doesPropagateEvents - the frame's part delegates unhandled events to
  16839. its containing part
  16840.  
  16841. Theory of Operation
  16842.  
  16843.  
  16844. Invariants Maintained by Class
  16845. A frame always has a part, and is always a display frame of that part.
  16846.  
  16847. A frame always has a valid frameShape. The usedShape need not be set,
  16848. in which case it will default to be the same as the frameShape. A
  16849. frame always has a valid internalTransform, which defaults to the
  16850. identity transformation.
  16851.  
  16852. The isRoot, isSubframe and isOverlaid flags are immutable for the
  16853. lifetime of the frame.
  16854. æKY ODFrame::ODFrame
  16855. Frame::ODFrame
  16856. Frame->ODFrame
  16857. æT Class Method
  16858. æD ODFrame();
  16859.  
  16860. æC Protection
  16861.     Protected.  Called only by Draft.
  16862.  
  16863. Override policy
  16864.     Derived class can override.
  16865.     Derived class can call base class behavior, during derived class behavior.
  16866.  
  16867. Basic operation
  16868. Class constructor.
  16869.  
  16870. Inputs
  16871. None.
  16872.  
  16873. Outputs
  16874. None.
  16875.  
  16876. Exceptions Signalled
  16877. None.
  16878.  
  16879. Pre conditions
  16880. None.
  16881.  
  16882. Post conditions
  16883. None.
  16884.  
  16885. æKY ODFrame::~ODFrame
  16886. Frame::~ODFrame
  16887. Frame->~ODFrame
  16888. æT Class Method
  16889. æD ~ODFrame();
  16890.  
  16891. æC Protection
  16892.     Protected.  Called only by Draft.
  16893.  
  16894. Override policy
  16895.     Derived class can override.
  16896.     Derived class can call base class behavior, during derived class behavior.
  16897.  
  16898. Basic operation
  16899. Class destructor.
  16900.  
  16901. Inputs
  16902. None.
  16903.  
  16904. Outputs
  16905. None.
  16906.  
  16907. Exceptions Signalled
  16908. None.
  16909.  
  16910. Pre conditions
  16911. None.
  16912.  
  16913. Post conditions
  16914. None.
  16915.  
  16916. æKY ODFrame::ChangeContentExtent
  16917. Frame::ChangeContentExtent
  16918. Frame->ChangeContentExtent
  16919. æT Class Method
  16920. æD void ChangeContentExtent(
  16921. ODPoint* contentExtent);
  16922.  
  16923. æC Protection
  16924.     Public.  Called by the frame's part.
  16925.  
  16926. Override policy
  16927.     Derived class can override.
  16928.     Derived class can call base class behavior, during derived class behavior.
  16929.  
  16930. Basic operation
  16931. Set the frame's content extent. For any facets of this frame which own
  16932. a canvas, update that canvas' biasTransform for the new content size.
  16933.  
  16934. Inputs
  16935. contentExtent
  16936.     The new content extent of the frame.
  16937.  
  16938. Outputs
  16939. None.
  16940.  
  16941. Exceptions Signalled
  16942. None.
  16943.  
  16944. Pre conditions
  16945. None.
  16946.  
  16947. Post conditions
  16948. None.
  16949.  
  16950. æKY ODFrame::ChangeFrameShape
  16951. Frame::ChangeFrameShape
  16952. Frame->ChangeFrameShape
  16953. æT Class Method
  16954. æD void ChangeFrameShape(
  16955. ODShape* shape,
  16956. ODCanvas* biasCanvas);
  16957.  
  16958. æC Protection
  16959.     Public.  
  16960.  
  16961. Override policy
  16962.     Derived class can override.
  16963.     Derived class can call base class behavior, during derived class behavior.
  16964.  
  16965. Basic operation
  16966. Called by containing part to change the frame's frameShape. The frame
  16967. sets its frameShape field to "shape" and notifies its part of the
  16968. change via Part::FrameShapeChanged().
  16969.  
  16970. Inputs
  16971. shape
  16972.     The new frameShape. In frame coordinates.
  16973. biasCanvas
  16974.     The canvas to whose coordinate space the call is biased. May be
  16975. kODNULL if the geometry is in the standard platform coordinate bias.
  16976.  
  16977. Outputs
  16978. None.
  16979.  
  16980. Exceptions Signalled
  16981. None.
  16982.  
  16983. Pre conditions
  16984. None.
  16985.  
  16986. Post conditions
  16987. None.
  16988.  
  16989. æKY ODFrame::ChangeInternalTransform
  16990. Frame::ChangeInternalTransform
  16991. Frame->ChangeInternalTransform
  16992. æT Class Method
  16993. æD void ChangeInternalTransform(
  16994. ODTransform* transform,
  16995. ODCanvas* biasCanvas);
  16996.  
  16997. æC Protection
  16998.     Public.  
  16999.  
  17000. Override policy
  17001.     Derived class can override.
  17002.     Derived class can call base class behavior, during derived class behavior.
  17003.  
  17004. Basic operation
  17005. Called by the frame's part to change its internalTransform. The frame
  17006. sets its internalTransform to be "transform", and notifies its facets
  17007. of the change via Facet::InternalTransformChanged().
  17008.  
  17009. Inputs
  17010. transform
  17011.     The new internalTransform.
  17012. biasCanvas
  17013.     The canvas to whose coordinate space the call is biased. May be
  17014. kODNULL if the geometry is in the standard platform coordinate bias.
  17015.  
  17016. Outputs
  17017. None.
  17018.  
  17019. Exceptions Signalled
  17020. None.
  17021.  
  17022. Pre conditions
  17023. None.
  17024.  
  17025. Post conditions
  17026. None.
  17027.  
  17028. æKY ODFrame::ChangeLinkStatus
  17029. Frame::ChangeLinkStatus
  17030. Frame->ChangeLinkStatus
  17031. æT Class Method
  17032. æD void    ChangeLinkStatus(
  17033. ODLinkStatus status);
  17034.  
  17035. æC Protection
  17036.     Public.  Parts call this for any ODFrames that are involved in a link when a
  17037. link is created, broken, moved, etc.
  17038.  
  17039. Override policy
  17040.     Derived class can override.
  17041.     Derived class can call base class behavior, during derived class behavior.
  17042.  
  17043. Basic operation
  17044. Set the link status for the frame to the given value. Parts involved
  17045. in moving or creating frames must set this attribute on frames they
  17046. own. A frame should then look to its containing frame to see if it
  17047. should set itself to the requested status or not. It should try to set
  17048. itself to the net effect of whatever state it’s in. The frame should
  17049. then call ODPart::LinkStatusChanged to notify the part of the change
  17050. so that the part may call ODFrame::ChangeLinkStatus for other owned
  17051. frames and/or embedded frames
  17052.  
  17053. Inputs
  17054. None
  17055.  
  17056. Outputs
  17057. None.
  17058.  
  17059. Exceptions Signalled
  17060. None.
  17061.  
  17062. Pre conditions
  17063. None.
  17064.  
  17065. Post conditions
  17066. The frame's link status may or may not have changed and frame will
  17067. call the LinkStatusChanged method of its part.
  17068.  
  17069. æKY ODFrame::ChangePart
  17070. Frame::ChangePart
  17071. Frame->ChangePart
  17072. æT Class Method
  17073. æD void ChangePart(
  17074. ODPart* part);
  17075.  
  17076. æC Protection
  17077.     Public.  
  17078.  
  17079. Override policy
  17080.     Derived class can override.
  17081.     Derived class can call base class behavior, during derived class behavior.
  17082.  
  17083. Basic operation
  17084. Remove all of this frame's facets from its old part via
  17085. Part::FacetRemoved(). Set its part to be "part". Add all its facets to
  17086. the new part via Part::FacetAdded().
  17087.  
  17088. Inputs
  17089. part
  17090.     The frame's new part.
  17091.  
  17092. Outputs
  17093. None.
  17094.  
  17095. Exceptions Signalled
  17096. None.
  17097.  
  17098. Pre conditions
  17099. None.
  17100.  
  17101. Post conditions
  17102. None.
  17103.  
  17104. æKY ODFrame::ChangePresentation
  17105. Frame::ChangePresentation
  17106. Frame->ChangePresentation
  17107. æT Class Method
  17108. æD void   ChangePresentation(
  17109. ODTypeToken presentation);
  17110.  
  17111. æC Protection
  17112.     Public.  
  17113.  
  17114. Override policy
  17115.     Derived class can override.
  17116.     Derived class can call base class behavior, during derived class behavior.
  17117.  
  17118. Basic operation
  17119. Called by containing part to request the frame to change its
  17120. presentation. Sets the presentation to "presentation", and notifies
  17121. the frame's part of the change via Part::PresentationChanged(). If the
  17122. part does not support the requested presentation, it may then change
  17123. the presentation again using the Frame::SetPresentation() method.
  17124.  
  17125. Inputs
  17126. presentation
  17127.     The frame's presentation.
  17128.  
  17129. Outputs
  17130. None.
  17131.  
  17132. Exceptions Signalled
  17133. None.
  17134.  
  17135. Pre conditions
  17136. None.
  17137.  
  17138. Post conditions
  17139. None.
  17140.  
  17141. æKY ODFrame::ChangeUsedShape
  17142. Frame::ChangeUsedShape
  17143. Frame->ChangeUsedShape
  17144. æT Class Method
  17145. æD void ChangeUsedShape(
  17146. ODShape* shape,
  17147. ODCanvas* biasCanvas);
  17148.  
  17149. æC Protection
  17150.     Public.  
  17151.  
  17152. Override policy
  17153.     Derived class can override.
  17154.     Derived class can call base class behavior, during derived class behavior.
  17155.  
  17156. Basic operation
  17157. Called by the frame's part to change its usedShape. The frame sets its
  17158. usedShape to "shape", and notifies its containing part of the change
  17159. via Part::UsedShapeChanged().
  17160.  
  17161. Inputs
  17162. shape
  17163.     The new usedShape. In frame coordinates.
  17164. biasCanvas
  17165.     The canvas to whose coordinate space the call is biased. May be
  17166. kODNULL if the geometry is in the standard platform coordinate bias.
  17167.  
  17168. Outputs
  17169. None.
  17170.  
  17171. Exceptions Signalled
  17172. None.
  17173.  
  17174. Pre conditions
  17175. None.
  17176.  
  17177. Post conditions
  17178. None.
  17179.  
  17180. æKY ODFrame::ChangeViewType
  17181. Frame::ChangeViewType
  17182. Frame->ChangeViewType
  17183. æT Class Method
  17184. æD void   ChangeViewType(
  17185. ODTypeToken viewType);
  17186.  
  17187. æC Protection
  17188.     Public.  
  17189.  
  17190. Override policy
  17191.     Derived class can override.
  17192.     Derived class can call base class behavior, during derived class behavior.
  17193.  
  17194. Basic operation
  17195. Called by containing part to request the frame to change its viewType.
  17196. Sets the viewType to "viewType", and notifies the frame's part of the
  17197. change via Part::ViewTypeChanged(). If the part does not support the
  17198. requested viewType, it may then change the viewType again using the
  17199. Frame::SetViewType() method.
  17200.  
  17201. Inputs
  17202. viewType
  17203.     The frame's new viewType.
  17204.  
  17205. Outputs
  17206. None.
  17207.  
  17208. Exceptions Signalled
  17209. None.
  17210.  
  17211. Pre conditions
  17212. None.
  17213.  
  17214. Post conditions
  17215. None.
  17216.  
  17217. æKY ODFrame::CloneTo
  17218. Frame::CloneTo
  17219. Frame->CloneTo
  17220. æT Class Method
  17221. æD ODStorageUnit* CloneTo(
  17222. ODDraftKey key,
  17223. ODDraft* destDraft);
  17224.  
  17225. æC Protection
  17226.     Public.  
  17227.  
  17228. Override policy
  17229.     Derived class can override.
  17230.     Derived class can call base class behavior, during derived class behavior.
  17231.  
  17232. Basic operation
  17233. Externalizes this ODFrame object and recursively clones any of its
  17234. references to other Storage Units or Parts.
  17235. Note that the actual copying may not be completed until after EndClone
  17236. is finished.
  17237.  
  17238. Inputs
  17239. key
  17240.     ODDraftKey identifying the Clone transaction.
  17241. destDraft
  17242.     destDraft
  17243.  
  17244. Outputs
  17245. <return>
  17246.     ODStorageUnit referring to the Storage Unit to where this Frame is
  17247. cloned.
  17248.  
  17249. Exceptions Signalled
  17250. None.
  17251.  
  17252. Pre conditions
  17253. None.
  17254.  
  17255. Post conditions
  17256. None.
  17257.  
  17258. æKY ODFrame::Close
  17259. Frame::Close
  17260. Frame->Close
  17261. æT Class Method
  17262. æD void Close();
  17263.  
  17264. æC Protection
  17265.     Public.  
  17266.  
  17267. Override policy
  17268.     Derived class can override.
  17269.     Derived class can call base class behavior, during derived class behavior.
  17270.  
  17271. Basic operation
  17272. Prepare frame for being removed from its draft, but don't make the
  17273. removal persistent. This call is used to clean up frames when a
  17274. document is being closed after its final save. The frame notifies its
  17275. part it is being closed via Part::CloseDisplayFrame(), then releases
  17276. its references to its part and its containingFrame. During
  17277. CloseDisplayFrame(), the frame's part will call this method
  17278. recursively on its embedded frames.
  17279.  
  17280. Inputs
  17281. None.
  17282.  
  17283. Outputs
  17284. None.
  17285.  
  17286. Exceptions Signalled
  17287. None.
  17288.  
  17289. Pre conditions
  17290. Frame has a valid part, and is a display frame of that part.
  17291.  
  17292. Post conditions
  17293. Frame makes no references to other frames or parts.
  17294.  
  17295. æKY ODFrame::CommonInitFrame
  17296. Frame::CommonInitFrame
  17297. Frame->CommonInitFrame
  17298. æT Class Method
  17299. æD void CommonInitFrame();
  17300.  
  17301. æC Protection
  17302.     Private.  
  17303.  
  17304. Override policy
  17305.     Derived class cannot override.
  17306.     Derived class cannot call base class behavior, during derived class behavior.
  17307.  
  17308. Basic operation
  17309. None.
  17310.  
  17311. Inputs
  17312. None.
  17313.  
  17314. Outputs
  17315. None.
  17316.  
  17317. Exceptions Signalled
  17318. None.
  17319.  
  17320. Pre conditions
  17321. None.
  17322.  
  17323. Post conditions
  17324. None.
  17325.  
  17326. æKY ODFrame::ContentChanged
  17327. Frame::ContentChanged
  17328. Frame->ContentChanged
  17329. æT Class Method
  17330. æD void    ContentChanged(
  17331. ODChangeID change);
  17332.  
  17333. æC Protection
  17334.     Public.  Called by the part displayed by this frame object.
  17335.  
  17336. Override policy
  17337.     Derived class can override.
  17338.     Derived class can call base class behavior, during derived class behavior.
  17339.  
  17340. Basic operation
  17341. Called by the part displayed by the frame object if the frame is
  17342. affected by a content change in the part. Causes the
  17343. EmbeddedFrameChanged() method of all containing parts in the frame
  17344. hierarchy to be called, thru the root part of the window displaying
  17345. this frame.  This method allows a containing part maintaining a source
  17346. link to be aware when an embedded part has changed, so it can update
  17347. the link.Parts should avoid calling this at every content change.They
  17348. can probably call after a reasonable pause and when the part loses the
  17349. selection focus.
  17350.  
  17351. Inputs
  17352. change
  17353.     A unique change ID.
  17354.  
  17355. Outputs
  17356. None.
  17357.  
  17358. Exceptions Signalled
  17359. None.
  17360.  
  17361. Pre conditions
  17362. None.
  17363.  
  17364. Post conditions
  17365. The EmbeddedFrameChange method of its part will be called.
  17366.  
  17367. æKY ODFrame::CreateFacetIterator
  17368. Frame::CreateFacetIterator
  17369. Frame->CreateFacetIterator
  17370. æT Class Method
  17371. æD ODFrameFacetIterator* CreateFacetIterator();
  17372.  
  17373. æC Protection
  17374.     Public.  
  17375.  
  17376. Override policy
  17377.     Derived class can override.
  17378.     Derived class can call base class behavior, during derived class behavior.
  17379.  
  17380. Basic operation
  17381. Create an iterator for this frame's facets.
  17382.  
  17383. Inputs
  17384. None.
  17385.  
  17386. Outputs
  17387. <return>
  17388.     The iterator. Caller assumes storage responsibility.
  17389.  
  17390. Exceptions Signalled
  17391. None.
  17392.  
  17393. Pre conditions
  17394. None.
  17395.  
  17396. Post conditions
  17397. None.
  17398.  
  17399. æKY ODFrame::CreateShape
  17400. Frame::CreateShape
  17401. Frame->CreateShape
  17402. æT Class Method
  17403. æD ODShape* CreateShape();
  17404.  
  17405. æC Protection
  17406.     Public.  Called by parts to create new shape objects.
  17407.  
  17408. Override policy
  17409.     Derived class can override.
  17410.     Derived class can call base class behavior, during derived class behavior.
  17411.  
  17412. Basic operation
  17413. This method is called by parts to obtain new shape instances.
  17414.  
  17415. Inputs
  17416. None.
  17417.  
  17418. Outputs
  17419. <return>
  17420.     The new shape object.
  17421.  
  17422. Exceptions Signalled
  17423. None.
  17424.  
  17425. Pre conditions
  17426. None.
  17427.  
  17428. Post conditions
  17429. None.
  17430.  
  17431. æKY ODFrame::CreateTransform
  17432. Frame::CreateTransform
  17433. Frame->CreateTransform
  17434. æT Class Method
  17435. æD ODShape* CreateTransform();
  17436.  
  17437. æC Protection
  17438.     Public.  Called by parts to create new transform objects.
  17439.  
  17440. Override policy
  17441.     Derived class can override.
  17442.     Derived class can call base class behavior, during derived class behavior.
  17443.  
  17444. Basic operation
  17445. This method is called by parts to obtain new transform instances.
  17446.  
  17447. Inputs
  17448. None.
  17449.  
  17450. Outputs
  17451. <return>
  17452.     The new transform object.
  17453.  
  17454. Exceptions Signalled
  17455. None.
  17456.  
  17457. Pre conditions
  17458. None.
  17459.  
  17460. Post conditions
  17461. None.
  17462.  
  17463. æKY ODFrame::DoesPropagateEvents
  17464. Frame::DoesPropagateEvents
  17465. Frame->DoesPropagateEvents
  17466. æT Class Method
  17467. æD ODBoolean DoesPropagateEvents();
  17468.  
  17469. æC Protection
  17470.     Public.  
  17471.  
  17472. Override policy
  17473.     Derived class can override.
  17474.     Derived class can call base class behavior, during derived class behavior.
  17475.  
  17476. Basic operation
  17477. Return whether this frame delegates unhandled events to its containing
  17478. frame.
  17479.  
  17480. Inputs
  17481. None.
  17482.  
  17483. Outputs
  17484. <return>
  17485.     The doesPropagateEvents flag.
  17486.  
  17487. Exceptions Signalled
  17488. None.
  17489.  
  17490. Pre conditions
  17491. None.
  17492.  
  17493. Post conditions
  17494. None.
  17495.  
  17496. æKY ODFrame::DrawActiveBorder
  17497. Frame::DrawActiveBorder
  17498. Frame->DrawActiveBorder
  17499. æT Class Method
  17500. æD void DrawActiveBorder();
  17501.  
  17502. æC Protection
  17503.     Public.  Called by Arbitrator
  17504.  
  17505. Override policy
  17506.     Derived class can override.
  17507.     Derived class can call base class behavior, during derived class behavior.
  17508.  
  17509. Basic operation
  17510. Ask frame to draw its active border adornment as needing to be
  17511. redrawn. The frame forwards the request to all its facets via
  17512. Facet::DrawActiveBorder().
  17513.  
  17514. Inputs
  17515. None.
  17516.  
  17517. Outputs
  17518. None.
  17519.  
  17520. Exceptions Signalled
  17521. None.
  17522.  
  17523. Pre conditions
  17524. None.
  17525.  
  17526. Post conditions
  17527. None.
  17528.  
  17529. æKY ODFrame::EditInLink
  17530. Frame::EditInLink
  17531. Frame->EditInLink
  17532. æT Class Method
  17533. æD ODBoolean EditInLink();
  17534.  
  17535. æC Protection
  17536.     Public.  
  17537.  
  17538. Override policy
  17539.     Derived class can override.
  17540.     Derived class can call base class behavior, during derived class behavior.
  17541.  
  17542. Basic operation
  17543. Parts call EditInLink when the user attempts to edit content in a
  17544. frame embedded in the destination of a link.  (Each frame has a link
  17545. status that indicates the frame's participation in links.)  Normally,
  17546. calling EditInLink causes the containing part that maintains the
  17547. destination of the link to display an alert giving the user the option
  17548. of finding the source of the link or breaking the link.  In the
  17549. unusual condition that the part maintaining the destination of the
  17550. link cannot be found, EditInLink returns kODFalse.  In this case, the
  17551. part should display an alert informing the user that the destinaton of
  17552. a link cannot be edited.  See the corresponding part method
  17553. EditInLinkAttempted.
  17554.  
  17555. Inputs
  17556. None.
  17557.  
  17558. Outputs
  17559. <return>
  17560.     kODTrue if the part maintaining the link destination could be
  17561. contacted, and kODFalse otherwise.
  17562.  
  17563. Exceptions Signalled
  17564. None.
  17565.  
  17566. Pre conditions
  17567. The link status of this frame is inLinkDestination.
  17568.  
  17569. Post conditions
  17570. None.
  17571.  
  17572. æKY ODFrame::Externalize
  17573. Frame::Externalize
  17574. Frame->Externalize
  17575. æT Class Method
  17576. æD void Externalize();
  17577.  
  17578. æC Protection
  17579.     Public.  
  17580.  
  17581. Override policy
  17582.     Derived class can override.
  17583.     Derived class can call base class behavior, during derived class behavior.
  17584.  
  17585. Basic operation
  17586. Write out the state of this frame onto its storage unit, suitable for
  17587. subsequent reconstruction of the frame.
  17588.  
  17589. Inputs
  17590. None.
  17591.  
  17592. Outputs
  17593. None.
  17594.  
  17595. Exceptions Signalled
  17596. None.
  17597.  
  17598. Pre conditions
  17599. Frame has a valid storage unit.
  17600.  
  17601. Post conditions
  17602. None.
  17603.  
  17604. æKY ODFrame::FacetAdded
  17605. Frame::FacetAdded
  17606. Frame->FacetAdded
  17607. æT Class Method
  17608. æD void FacetAdded(
  17609. ODFacet* facet);
  17610.  
  17611. æC Protection
  17612.     Public.  Only called by facet being added.
  17613.  
  17614. Override policy
  17615.     Derived class can override.
  17616.     Derived class can call base class behavior, during derived class behavior.
  17617.  
  17618. Basic operation
  17619. Notify the frame it has a new facet. The frame adds the facet to its
  17620. list of facets, and notifies its part of the new facet via
  17621. Part::FacetAdded().
  17622.  
  17623. Inputs
  17624. facet
  17625.     The new facet.
  17626.  
  17627. Outputs
  17628. None.
  17629.  
  17630. Exceptions Signalled
  17631. None.
  17632.  
  17633. Pre conditions
  17634. None.
  17635.  
  17636. Post conditions
  17637. None.
  17638.  
  17639. æKY ODFrame::FacetRemoved
  17640. Frame::FacetRemoved
  17641. Frame->FacetRemoved
  17642. æT Class Method
  17643. æD void FacetRemoved(
  17644. ODFacet* facet);
  17645.  
  17646. æC Protection
  17647.     Public.  Only called by facet.
  17648.  
  17649. Override policy
  17650.     Derived class can override.
  17651.     Derived class can call base class behavior, during derived class behavior.
  17652.  
  17653. Basic operation
  17654. Notify the frame one of its facets has been removed. The frame removes
  17655. the facet from its list of facets, and notifies its part via
  17656. Part::FacetRemoved().
  17657.  
  17658. Inputs
  17659. facet
  17660.     The facet being removed.
  17661.  
  17662. Outputs
  17663. None.
  17664.  
  17665. Exceptions Signalled
  17666. None.
  17667.  
  17668. Pre conditions
  17669. None.
  17670.  
  17671. Post conditions
  17672. None.
  17673.  
  17674. æKY ODFrame::GetContainingFrame
  17675. Frame::GetContainingFrame
  17676. Frame->GetContainingFrame
  17677. æT Class Method
  17678. æD ODFrame* GetContainingFrame();
  17679.  
  17680. æC Protection
  17681.     Public.  
  17682.  
  17683. Override policy
  17684.     Derived class can override.
  17685.     Derived class can call base class behavior, during derived class behavior.
  17686.  
  17687. Basic operation
  17688. Return the containing frame of this frame. Will return kODNULL if this
  17689. is a root frame.
  17690.  
  17691. Inputs
  17692. None.
  17693.  
  17694. Outputs
  17695. <return>
  17696.     This frame's containing frame.
  17697.  
  17698. Exceptions Signalled
  17699. None.
  17700.  
  17701. Pre conditions
  17702. None.
  17703.  
  17704. Post conditions
  17705. None.
  17706.  
  17707. æKY ODFrame::GetContentExtent
  17708. Frame::GetContentExtent
  17709. Frame->GetContentExtent
  17710. æT Class Method
  17711. æD ODPoint GetContentExtent();
  17712.  
  17713. æC Protection
  17714.     Public.  
  17715.  
  17716. Override policy
  17717.     Derived class can override.
  17718.     Derived class can call base class behavior, during derived class behavior.
  17719.  
  17720. Basic operation
  17721. Return the content extent of the frame.
  17722.  
  17723. Inputs
  17724. None.
  17725.  
  17726. Outputs
  17727. <return>
  17728.     The content extent of the frame.
  17729.  
  17730. Exceptions Signalled
  17731. None.
  17732.  
  17733. Pre conditions
  17734. None.
  17735.  
  17736. Post conditions
  17737. None.
  17738.  
  17739. æKY ODFrame::GetFacets
  17740. Frame::GetFacets
  17741. Frame->GetFacets
  17742. æT Class Method
  17743. æD OrderedCollection* GetFacets();
  17744.  
  17745. æC Protection
  17746.     Protected.  Called only by FrameFacetIterator.
  17747.  
  17748. Override policy
  17749.     Derived class can override.
  17750.     Derived class can call base class behavior, during derived class behavior.
  17751.  
  17752. Basic operation
  17753. None.
  17754.  
  17755. Inputs
  17756. None.
  17757.  
  17758. Outputs
  17759. None.
  17760.  
  17761. Exceptions Signalled
  17762. None.
  17763.  
  17764. Pre conditions
  17765. None.
  17766.  
  17767. Post conditions
  17768. None.
  17769.  
  17770. æKY ODFrame::GetFrameGroup
  17771. Frame::GetFrameGroup
  17772. Frame->GetFrameGroup
  17773. æT Class Method
  17774. æD ODULong  GetFrameGroup();
  17775.  
  17776. æC Protection
  17777.     Public.  
  17778.  
  17779. Override policy
  17780.     Derived class can override.
  17781.     Derived class can call base class behavior, during derived class behavior.
  17782.  
  17783. Basic operation
  17784. Return the groupID of this frame.
  17785.  
  17786. Inputs
  17787. None.
  17788.  
  17789. Outputs
  17790. <return>
  17791.     The groupID of this frame.
  17792.  
  17793. Exceptions Signalled
  17794. None.
  17795.  
  17796. Pre conditions
  17797. None.
  17798.  
  17799. Post conditions
  17800. None.
  17801.  
  17802. æKY ODFrame::GetFrameShape
  17803. Frame::GetFrameShape
  17804. Frame->GetFrameShape
  17805. æT Class Method
  17806. æD ODShape* GetFrameShape(
  17807. ODCanvas* biasCanvas);
  17808.  
  17809. æC Protection
  17810.     Public.  
  17811.  
  17812. Override policy
  17813.     Derived class can override.
  17814.     Derived class can call base class behavior, during derived class behavior.
  17815.  
  17816. Basic operation
  17817. Return this frame's frameShape.
  17818.  
  17819. Inputs
  17820. biasCanvas
  17821.     The canvas to whose coordinate space the call is biased. May be
  17822. kODNULL if the geometry is in the standard platform coordinate bias.
  17823.  
  17824. Outputs
  17825. <return>
  17826.     The frame's frameShape. In frame coordinates. Caller may not alter or
  17827. delete.
  17828.  
  17829. Exceptions Signalled
  17830. None.
  17831.  
  17832. Pre conditions
  17833. None.
  17834.  
  17835. Post conditions
  17836. None.
  17837.  
  17838. æKY ODFrame::GetInternalTransform
  17839. Frame::GetInternalTransform
  17840. Frame->GetInternalTransform
  17841. æT Class Method
  17842. æD ODTransform* GetInternalTransform(
  17843. ODCanvas* biasCanvas);
  17844.  
  17845. æC Protection
  17846.     Public.  
  17847.  
  17848. Override policy
  17849.     Derived class can override.
  17850.     Derived class can call base class behavior, during derived class behavior.
  17851.  
  17852. Basic operation
  17853. Return the internalTransform of the frame. This transform specifies
  17854. how the content displayed in the frame is transformed relative to the
  17855. frame's coordinate space.
  17856.  
  17857. Inputs
  17858. biasCanvas
  17859.     The canvas to whose coordinate space the call is biased. May be
  17860. kODNULL if the geometry is in the standard platform coordinate bias.
  17861.  
  17862. Outputs
  17863. <return>
  17864.     The frame's internalTransform. Caller may not alter or deallocate.
  17865.  
  17866. Exceptions Signalled
  17867. None.
  17868.  
  17869. Pre conditions
  17870. None.
  17871.  
  17872. Post conditions
  17873. None.
  17874.  
  17875. æKY ODFrame::GetLinkStatus
  17876. Frame::GetLinkStatus
  17877. Frame->GetLinkStatus
  17878. æT Class Method
  17879. æD ODLinkStatus GetLinkStatus();
  17880.  
  17881. æC Protection
  17882.     Public.  Frames will want to call this for their enclosing frames when
  17883. ChangeLinkStatus is invoked. This will determine how they handle
  17884. ChangeLinkStatus.
  17885.  
  17886. Override policy
  17887.     Derived class can override.
  17888.     Derived class can call base class behavior, during derived class behavior.
  17889.  
  17890. Basic operation
  17891. Returns the ODLink status of the frame.
  17892.  
  17893. Inputs
  17894. None.
  17895.  
  17896. Outputs
  17897. <return>
  17898.     The link status of this frame
  17899.  
  17900. Exceptions Signalled
  17901. None.
  17902.  
  17903. Pre conditions
  17904. None.
  17905.  
  17906. Post conditions
  17907. None.
  17908.  
  17909. æKY ODFrame::GetPart
  17910. Frame::GetPart
  17911. Frame->GetPart
  17912. æT Class Method
  17913. æD ODPart* GetPart();
  17914.  
  17915. æC Protection
  17916.     Public.  
  17917.  
  17918. Override policy
  17919.     Derived class can override.
  17920.     Derived class can call base class behavior, during derived class behavior.
  17921.  
  17922. Basic operation
  17923. Return this frame's part.
  17924.  
  17925. Inputs
  17926. None.
  17927.  
  17928. Outputs
  17929. <return>
  17930.     This frame's part.
  17931.  
  17932. Exceptions Signalled
  17933. None.
  17934.  
  17935. Pre conditions
  17936. None.
  17937.  
  17938. Post conditions
  17939. None.
  17940.  
  17941. æKY ODFrame::GetPartInfo
  17942. Frame::GetPartInfo
  17943. Frame->GetPartInfo
  17944. æT Class Method
  17945. æD ODInfoType GetPartInfo();
  17946.  
  17947. æC Protection
  17948.     Public.  
  17949.  
  17950. Override policy
  17951.     Derived class can override.
  17952.     Derived class can call base class behavior, during derived class behavior.
  17953.  
  17954. Basic operation
  17955. Return the partInfo data the part has stored in this frame.
  17956.  
  17957. Inputs
  17958. None.
  17959.  
  17960. Outputs
  17961. <return>
  17962.     The frame's partInfo data.
  17963.  
  17964. Exceptions Signalled
  17965. None.
  17966.  
  17967. Pre conditions
  17968. None.
  17969.  
  17970. Post conditions
  17971. None.
  17972.  
  17973. æKY ODFrame::GetPresentation
  17974. Frame::GetPresentation
  17975. Frame->GetPresentation
  17976. æT Class Method
  17977. æD ODTypeToken GetPresentation();
  17978.  
  17979. æC Protection
  17980.     Public.  
  17981.  
  17982. Override policy
  17983.     Derived class can override.
  17984.     Derived class can call base class behavior, during derived class behavior.
  17985.  
  17986. Basic operation
  17987. Return the presentation kind of this frame.
  17988.  
  17989. Inputs
  17990. None.
  17991.  
  17992. Outputs
  17993. <return>
  17994.     This frame's presentation kind.
  17995.  
  17996. Exceptions Signalled
  17997. None.
  17998.  
  17999. Pre conditions
  18000. None.
  18001.  
  18002. Post conditions
  18003. None.
  18004.  
  18005. æKY ODFrame::GetSequenceNumber
  18006. Frame::GetSequenceNumber
  18007. Frame->GetSequenceNumber
  18008. æT Class Method
  18009. æD ODULong GetSequenceNumber();
  18010.  
  18011. æC Protection
  18012.     Public.  
  18013.  
  18014. Override policy
  18015.     Derived class can override.
  18016.     Derived class can call base class behavior, during derived class behavior.
  18017.  
  18018. Basic operation
  18019. Return the sequence number which this frame's containing part has
  18020. assigned it.
  18021.  
  18022. Inputs
  18023. None.
  18024.  
  18025. Outputs
  18026. <return>
  18027.     The sequence number of this frame in its frame group.
  18028.  
  18029. Exceptions Signalled
  18030. None.
  18031.  
  18032. Pre conditions
  18033. None.
  18034.  
  18035. Post conditions
  18036. None.
  18037.  
  18038. æKY ODFrame::GetUsedShape
  18039. Frame::GetUsedShape
  18040. Frame->GetUsedShape
  18041. æT Class Method
  18042. æD ODShape* GetUsedShape(
  18043. ODCanvas* biasCanvas);
  18044.  
  18045. æC Protection
  18046.     Public.  
  18047.  
  18048. Override policy
  18049.     Derived class can override.
  18050.     Derived class can call base class behavior, during derived class behavior.
  18051.  
  18052. Basic operation
  18053. Return the usedShape of this frame.
  18054.  
  18055. Inputs
  18056. biasCanvas
  18057.     The canvas to whose coordinate space the call is biased. May be
  18058. kODNULL if the geometry is in the standard platform coordinate bias.
  18059.  
  18060. Outputs
  18061. <return>
  18062.     The usedShape. In frame coordinates. Caller may not alter or
  18063. deallocate.
  18064.  
  18065. Exceptions Signalled
  18066. None.
  18067.  
  18068. Pre conditions
  18069. None.
  18070.  
  18071. Post conditions
  18072. None.
  18073.  
  18074. æKY ODFrame::GetViewType
  18075. Frame::GetViewType
  18076. Frame->GetViewType
  18077. æT Class Method
  18078. æD ODTypeToken GetViewType();
  18079.  
  18080. æC Protection
  18081.     Public.  
  18082.  
  18083. Override policy
  18084.     Derived class can override.
  18085.     Derived class can call base class behavior, during derived class behavior.
  18086.  
  18087. Basic operation
  18088. Return the viewType of this frame.
  18089.  
  18090. Inputs
  18091. None.
  18092.  
  18093. Outputs
  18094. <return>
  18095.     The viewType of this frame.
  18096.  
  18097. Exceptions Signalled
  18098. None.
  18099.  
  18100. Pre conditions
  18101. None.
  18102.  
  18103. Post conditions
  18104. None.
  18105.  
  18106. æKY ODFrame::GetWindow
  18107. Frame::GetWindow
  18108. Frame->GetWindow
  18109. æT Class Method
  18110. æD ODWindow* GetWindow();
  18111.  
  18112. æC Protection
  18113.     Public.  
  18114.  
  18115. Override policy
  18116.     Derived class can override.
  18117.     Derived class can call base class behavior, during derived class behavior.
  18118.  
  18119. Basic operation
  18120. Return the window in which this frame is displayed. If this frame is a
  18121. root frame, it will have a reference to its window. If this frame is
  18122. not a root window, return the root frame's window. If this frame is
  18123. not in a window (i.e. if being used for printing, not onscreen
  18124. display), return kODNULL.
  18125.  
  18126. Inputs
  18127. None.
  18128.  
  18129. Outputs
  18130. <return>
  18131.     The frame's window, or kODNULL.
  18132.  
  18133. Exceptions Signalled
  18134. None.
  18135.  
  18136. Pre conditions
  18137. None.
  18138.  
  18139. Post conditions
  18140. None.
  18141.  
  18142. æKY ODFrame::InitFrame
  18143. Frame::InitFrame
  18144. Frame->InitFrame
  18145. æT Class Method
  18146. æD void InitFrame(
  18147. ODStorageUnit* storageUnit,
  18148. ODFrame*   containingFrame,
  18149. ODShape*   frameShape,
  18150. ODCanvas* biasCanvas,
  18151. ODPart*   part,
  18152. ODTypeToken viewType,
  18153. ODTypeToken presentation,
  18154. ODBoolean  isRoot,
  18155. ODBoolean   isOverlaid);
  18156.  
  18157. æC Protection
  18158.     Private.  Called only by draft.
  18159.  
  18160. Override policy
  18161.     Derived class cannot override.
  18162.     Derived class cannot call base class behavior, during derived class behavior.
  18163.  
  18164. Basic operation
  18165. None.
  18166.  
  18167. Inputs
  18168. storageUnit
  18169.     storageUnit
  18170. containingFrame
  18171.     containingFrame
  18172. frameShape
  18173.     frameShape
  18174. part
  18175.     part
  18176. viewType
  18177.     viewType
  18178. presentation
  18179.     presentation
  18180. isRoot
  18181.     isRoot
  18182. isOverlaid
  18183.     isOverlaid
  18184. biasCanvas
  18185.     The canvas to whose coordinate space the call is biased. May be
  18186. kODNULL if the geometry is in the standard platform coordinate bias.
  18187.  
  18188. Outputs
  18189. None.
  18190.  
  18191. Exceptions Signalled
  18192. None.
  18193.  
  18194. Pre conditions
  18195. None.
  18196.  
  18197. Post conditions
  18198. None.
  18199.  
  18200. æKY ODFrame::InitFrameFromStorage
  18201. Frame::InitFrameFromStorage
  18202. Frame->InitFrameFromStorage
  18203. æT Class Method
  18204. æD void InitFrameFromStorage(
  18205. ODStorageUnit* storageUnit);
  18206.  
  18207. æC Protection
  18208.     Private.  Called only by Draft.
  18209.  
  18210. Override policy
  18211.     Derived class cannot override.
  18212.     Derived class cannot call base class behavior, during derived class behavior.
  18213.  
  18214. Basic operation
  18215. None.
  18216.  
  18217. Inputs
  18218. storageUnit
  18219.     storageUnit
  18220.  
  18221. Outputs
  18222. None.
  18223.  
  18224. Exceptions Signalled
  18225. None.
  18226.  
  18227. Pre conditions
  18228. None.
  18229.  
  18230. Post conditions
  18231. None.
  18232.  
  18233. æKY ODFrame::Invalidate
  18234. Frame::Invalidate
  18235. Frame->Invalidate
  18236. æT Class Method
  18237. æD void Invalidate(
  18238. ODShape* invalidShape,
  18239. ODCanvas* biasCanvas);
  18240.  
  18241. æC Protection
  18242.     Public.  
  18243.  
  18244. Override policy
  18245.     Derived class can override.
  18246.     Derived class can call base class behavior, during derived class behavior.
  18247.  
  18248. Basic operation
  18249. Ask frame to mark "invalidShape" as needing to be redrawn. The frame
  18250. forwards the request to all its facets via Facet::Invalidate().
  18251.  
  18252. Inputs
  18253. invalidShape
  18254.     The shape to be redrawn. In frame coordinates.
  18255. biasCanvas
  18256.     The canvas to whose coordinate space the call is biased. May be
  18257. kODNULL if the geometry is in the standard platform coordinate bias.
  18258.  
  18259. Outputs
  18260. None.
  18261.  
  18262. Exceptions Signalled
  18263. None.
  18264.  
  18265. Pre conditions
  18266. None.
  18267.  
  18268. Post conditions
  18269. None.
  18270.  
  18271. æKY ODFrame::InvalidateActiveBorder
  18272. Frame::InvalidateActiveBorder
  18273. Frame->InvalidateActiveBorder
  18274. æT Class Method
  18275. æD void InvalidateActiveBorder();
  18276.  
  18277. æC Protection
  18278.     Public.  
  18279.  
  18280. Override policy
  18281.     Derived class can override.
  18282.     Derived class can call base class behavior, during derived class behavior.
  18283.  
  18284. Basic operation
  18285. Ask frame to mark the shape of its active border adornment as needing
  18286. to be redrawn. This call is used to erase the active border. The frame
  18287. forwards the request to all its facets via
  18288. Facet::InvalidateActiveBorder().
  18289.  
  18290. Inputs
  18291. None.
  18292.  
  18293. Outputs
  18294. None.
  18295.  
  18296. Exceptions Signalled
  18297. None.
  18298.  
  18299. Pre conditions
  18300. None.
  18301.  
  18302. Post conditions
  18303. None.
  18304.  
  18305. æKY ODFrame::IsDragging
  18306. Frame::IsDragging
  18307. Frame->IsDragging
  18308. æT Class Method
  18309. æD ODBoolean IsDragging();
  18310.  
  18311. æC Protection
  18312.     Public.  
  18313.  
  18314. Override policy
  18315.     Derived class can override.
  18316.     Derived class can call base class behavior, during derived class behavior.
  18317.  
  18318. Basic operation
  18319. Return whether this frame is being dragged, so the Dispatcher knows
  18320. not to drag it into itself or its contents.
  18321.  
  18322. Inputs
  18323. None.
  18324.  
  18325. Outputs
  18326. <return>
  18327.     The frame's isDragging flag.
  18328.  
  18329. Exceptions Signalled
  18330. None.
  18331.  
  18332. Pre conditions
  18333. None.
  18334.  
  18335. Post conditions
  18336. None.
  18337.  
  18338. æKY ODFrame::IsDroppable
  18339. Frame::IsDroppable
  18340. Frame->IsDroppable
  18341. æT Class Method
  18342. æD ODBoolean IsDroppable();
  18343.  
  18344. æC Protection
  18345.     Public.  
  18346.  
  18347. Override policy
  18348.     Derived class can override.
  18349.     Derived class can call base class behavior, during derived class behavior.
  18350.  
  18351. Basic operation
  18352. Return whether this frame's part supports drag-and-drop.
  18353.  
  18354. Inputs
  18355. None.
  18356.  
  18357. Outputs
  18358. <return>
  18359.     The frame's isDroppable flag.
  18360.  
  18361. Exceptions Signalled
  18362. None.
  18363.  
  18364. Pre conditions
  18365. None.
  18366.  
  18367. Post conditions
  18368. None.
  18369.  
  18370. æKY ODFrame::IsFrozen
  18371. Frame::IsFrozen
  18372. Frame->IsFrozen
  18373. æT Class Method
  18374. æD ODBoolean IsFrozen();
  18375.  
  18376. æC Protection
  18377.     Public.  
  18378.  
  18379. Override policy
  18380.     Derived class can override.
  18381.     Derived class can call base class behavior, during derived class behavior.
  18382.  
  18383. Basic operation
  18384. Return whether this frame is frozen.
  18385.  
  18386. Inputs
  18387. None.
  18388.  
  18389. Outputs
  18390. <return>
  18391.     The isFrozen flag of this frame.
  18392.  
  18393. Exceptions Signalled
  18394. None.
  18395.  
  18396. Pre conditions
  18397. None.
  18398.  
  18399. Post conditions
  18400. None.
  18401.  
  18402. æKY ODFrame::IsOverlaid
  18403. Frame::IsOverlaid
  18404. Frame->IsOverlaid
  18405. æT Class Method
  18406. æD ODBoolean IsOverlaid();
  18407.  
  18408. æC Protection
  18409.     Public.  
  18410.  
  18411. Override policy
  18412.     Derived class can override.
  18413.     Derived class can call base class behavior, during derived class behavior.
  18414.  
  18415. Basic operation
  18416. None.
  18417.  
  18418. Inputs
  18419. None.
  18420.  
  18421. Outputs
  18422. <return>
  18423.     The frame's IsOverlaid flag.
  18424.  
  18425. Exceptions Signalled
  18426. None.
  18427.  
  18428. Pre conditions
  18429. None.
  18430.  
  18431. Post conditions
  18432. None.
  18433.  
  18434. æKY ODFrame::IsRoot
  18435. Frame::IsRoot
  18436. Frame->IsRoot
  18437. æT Class Method
  18438. æD ODBoolean IsRoot();
  18439.  
  18440. æC Protection
  18441.     Public.  
  18442.  
  18443. Override policy
  18444.     Derived class can override.
  18445.     Derived class can call base class behavior, during derived class behavior.
  18446.  
  18447. Basic operation
  18448. None.
  18449.  
  18450. Inputs
  18451. None.
  18452.  
  18453. Outputs
  18454. <return>
  18455.     The frame's IsRoot flag.
  18456.  
  18457. Exceptions Signalled
  18458. None.
  18459.  
  18460. Pre conditions
  18461. None.
  18462.  
  18463. Post conditions
  18464. None.
  18465.  
  18466. æKY ODFrame::IsSubframe
  18467. Frame::IsSubframe
  18468. Frame->IsSubframe
  18469. æT Class Method
  18470. æD ODBoolean IsSubframe();
  18471.  
  18472. æC Protection
  18473.     Public.  
  18474.  
  18475. Override policy
  18476.     Derived class can override.
  18477.     Derived class can call base class behavior, during derived class behavior.
  18478.  
  18479. Basic operation
  18480. None.
  18481.  
  18482. Inputs
  18483. None.
  18484.  
  18485. Outputs
  18486. <return>
  18487.     The frame's isSubframe flag.
  18488.  
  18489. Exceptions Signalled
  18490. None.
  18491.  
  18492. Pre conditions
  18493. None.
  18494.  
  18495. Post conditions
  18496. None.
  18497.  
  18498. æKY ODFrame::Purge
  18499. Frame::Purge
  18500. Frame->Purge
  18501. æT Class Method
  18502. æD ODSize Purge(
  18503. ODSize size);
  18504.  
  18505. æC Protection
  18506.     Public.  
  18507.  
  18508. Override policy
  18509.     Derived class can override.
  18510.     Derived class can call base class behavior, during derived class behavior.
  18511.  
  18512. Basic operation
  18513. Ask the frame to free up to "size" bytes of memory by releasing
  18514. non-essential internal data structures.
  18515.  
  18516. Inputs
  18517. size
  18518.     The number of bytes to attempt to free.
  18519.  
  18520. Outputs
  18521. <return>
  18522.     The number of bytes actually freed.
  18523.  
  18524. Exceptions Signalled
  18525. None.
  18526.  
  18527. Pre conditions
  18528. None.
  18529.  
  18530. Post conditions
  18531. None.
  18532.  
  18533. æKY ODFrame::Release
  18534. Frame::Release
  18535. Frame->Release
  18536. æT Class Method
  18537. æD void Release();
  18538.  
  18539. æC Protection
  18540.     Public.  
  18541.  
  18542. Override policy
  18543.     Derived class can override.
  18544.     Derived class can call base class behavior, during derived class behavior.
  18545.  
  18546. Basic operation
  18547. Called by another object which had a reference to this frame upon
  18548. releasing that reference. Decrements the frame's reference count. If
  18549. there are no more references to the frame, ask the draft to release
  18550. its storage.
  18551.  
  18552. Inputs
  18553. None.
  18554.  
  18555. Outputs
  18556. None.
  18557.  
  18558. Exceptions Signalled
  18559. None.
  18560.  
  18561. Pre conditions
  18562. Frame has a positive reference count.
  18563.  
  18564. Post conditions
  18565. None.
  18566.  
  18567. æKY ODFrame::Remove
  18568. Frame::Remove
  18569. Frame->Remove
  18570. æT Class Method
  18571. æD void Remove();
  18572.  
  18573. æC Protection
  18574.     Public.  
  18575.  
  18576. Override policy
  18577.     Derived class can override.
  18578.     Derived class can call base class behavior, during derived class behavior.
  18579.  
  18580. Basic operation
  18581. Prepare frame for being removed from its draft. The frame notifies its
  18582. part it is being removed via Part::RemoveDisplayFrame(), then releases
  18583. its references to its part and its containingFrame. During
  18584. RemoveDisplayFrame(), the frame's part will call this method
  18585. recursively on its embedded frames. If the frame's reference count
  18586. falls to 1, ask the draft to remove the frame.
  18587.  
  18588. Inputs
  18589. None.
  18590.  
  18591. Outputs
  18592. None.
  18593.  
  18594. Exceptions Signalled
  18595. None.
  18596.  
  18597. Pre conditions
  18598. Frame has a valid part, and is a display frame of that part.
  18599.  
  18600. Post conditions
  18601. Frame makes no references to other frames or parts. Draft may have
  18602. removed frame.
  18603.  
  18604. æKY ODFrame::RequestFrameShape
  18605. Frame::RequestFrameShape
  18606. Frame->RequestFrameShape
  18607. æT Class Method
  18608. æD ODShape* RequestFrameShape(
  18609. ODShape* shape,
  18610. ODCanvas* biasCanvas);
  18611.  
  18612. æC Protection
  18613.     Public.  
  18614.  
  18615. Override policy
  18616.     Derived class can override.
  18617.     Derived class can call base class behavior, during derived class behavior.
  18618.  
  18619. Basic operation
  18620. Called by the frame's part to request a new frameShape. The frame
  18621. forwards the request (with the shape still in this frame's frame
  18622. coordinates) to the containing part via Part::RequestFrameShape(). The
  18623. containing part responds with the shape it will allow the frame to
  18624. have. The frame stores this shape as its new frameShape, and returns
  18625. it to the part so the part knows what its new shape is.
  18626.  
  18627. Inputs
  18628. shape
  18629.     The requested shape. In frame coordinates.
  18630. biasCanvas
  18631.     The canvas to whose coordinate space the call is biased. May be
  18632. kODNULL if the geometry is in the standard platform coordinate bias.
  18633.  
  18634. Outputs
  18635. <return>
  18636.     The new frameShape. In frame coordinates. Caller may not alter or
  18637. deallocate.
  18638.  
  18639. Exceptions Signalled
  18640. None.
  18641.  
  18642. Pre conditions
  18643. None.
  18644.  
  18645. Post conditions
  18646. None.
  18647.  
  18648. æKY ODFrame::SetContainingFrame
  18649. Frame::SetContainingFrame
  18650. Frame->SetContainingFrame
  18651. æT Class Method
  18652. æD void   SetContainingFrame(
  18653. ODFrame* frame);
  18654.  
  18655. æC Protection
  18656.     Public.  
  18657.  
  18658. Override policy
  18659.     Derived class can override.
  18660.     Derived class can call base class behavior, during derived class behavior.
  18661.  
  18662. Basic operation
  18663. Set the containing frame of this frame. Only necessary if frame is
  18664. being moved, as will usually be created with correct value.
  18665.  
  18666. Inputs
  18667. frame
  18668.     The new containing frame.
  18669.  
  18670. Outputs
  18671. None.
  18672.  
  18673. Exceptions Signalled
  18674. None.
  18675.  
  18676. Pre conditions
  18677. None.
  18678.  
  18679. Post conditions
  18680. None.
  18681.  
  18682. æKY ODFrame::SetDragging
  18683. Frame::SetDragging
  18684. Frame->SetDragging
  18685. æT Class Method
  18686. æD void   SetDragging(
  18687. ODBoolean isDragging);
  18688.  
  18689. æC Protection
  18690.     Public.  
  18691.  
  18692. Override policy
  18693.     Derived class can override.
  18694.     Derived class can call base class behavior, during derived class behavior.
  18695.  
  18696. Basic operation
  18697. Set whether this frame is in process of being dragged.
  18698.  
  18699. Inputs
  18700. isDragging
  18701.     The new value for the frame's isDragging flag.
  18702.  
  18703. Outputs
  18704. None.
  18705.  
  18706. Exceptions Signalled
  18707. None.
  18708.  
  18709. Pre conditions
  18710. None.
  18711.  
  18712. Post conditions
  18713. None.
  18714.  
  18715. æKY ODFrame::SetDroppable
  18716. Frame::SetDroppable
  18717. Frame->SetDroppable
  18718. æT Class Method
  18719. æD void   SetDroppable(
  18720. ODBoolean isDroppable);
  18721.  
  18722. æC Protection
  18723.     Public.  
  18724.  
  18725. Override policy
  18726.     Derived class can override.
  18727.     Derived class can call base class behavior, during derived class behavior.
  18728.  
  18729. Basic operation
  18730. Called by the frame's part to indicate whether it supports
  18731. drag-and-drop in this frame.
  18732.  
  18733. Inputs
  18734. isDroppable
  18735.     The new value for this frame's isDroppable flag.
  18736.  
  18737. Outputs
  18738. None.
  18739.  
  18740. Exceptions Signalled
  18741. None.
  18742.  
  18743. Pre conditions
  18744. None.
  18745.  
  18746. Post conditions
  18747. None.
  18748.  
  18749. æKY ODFrame::SetFrameGroup
  18750. Frame::SetFrameGroup
  18751. Frame->SetFrameGroup
  18752. æT Class Method
  18753. æD void   SetFrameGroup(
  18754. ODULong groupID);
  18755.  
  18756. æC Protection
  18757.     Public.  
  18758.  
  18759. Override policy
  18760.     Derived class can override.
  18761.     Derived class can call base class behavior, during derived class behavior.
  18762.  
  18763. Basic operation
  18764. Set the groupID of this frame. This should only be done by the
  18765. containing part.
  18766.  
  18767. Inputs
  18768. groupID
  18769.     The new groupID.
  18770.  
  18771. Outputs
  18772. None.
  18773.  
  18774. Exceptions Signalled
  18775. None.
  18776.  
  18777. Pre conditions
  18778. None.
  18779.  
  18780. Post conditions
  18781. None.
  18782.  
  18783. æKY ODFrame::SetFrozen
  18784. Frame::SetFrozen
  18785. Frame->SetFrozen
  18786. æT Class Method
  18787. æD void   SetFrozen(
  18788. ODBoolean isFrozen);
  18789.  
  18790. æC Protection
  18791.     Public.  
  18792.  
  18793. Override policy
  18794.     Derived class can override.
  18795.     Derived class can call base class behavior, during derived class behavior.
  18796.  
  18797. Basic operation
  18798. Set whether this frame is frozen.
  18799.  
  18800. Inputs
  18801. isFrozen
  18802.     The new value for the isFrozen flag.
  18803.  
  18804. Outputs
  18805. None.
  18806.  
  18807. Exceptions Signalled
  18808. None.
  18809.  
  18810. Pre conditions
  18811. None.
  18812.  
  18813. Post conditions
  18814. None.
  18815.  
  18816. æKY ODFrame::SetPartInfo
  18817. Frame::SetPartInfo
  18818. Frame->SetPartInfo
  18819. æT Class Method
  18820. æD void   SetPartInfo(
  18821. ODInfoType partInfo);
  18822.  
  18823. æC Protection
  18824.     Public.  
  18825.  
  18826. Override policy
  18827.     Derived class can override.
  18828.     Derived class can call base class behavior, during derived class behavior.
  18829.  
  18830. Basic operation
  18831. Set the frame's partInfo data. Should only be called by this frame's
  18832. part.
  18833.  
  18834. Inputs
  18835. partInfo
  18836.     The frame's new partInfo.
  18837.  
  18838. Outputs
  18839. None.
  18840.  
  18841. Exceptions Signalled
  18842. None.
  18843.  
  18844. Pre conditions
  18845. None.
  18846.  
  18847. Post conditions
  18848. None.
  18849.  
  18850. æKY ODFrame::SetPresentation
  18851. Frame::SetPresentation
  18852. Frame->SetPresentation
  18853. æT Class Method
  18854. æD void   SetPresentation(
  18855. ODTypeToken presentation);
  18856.  
  18857. æC Protection
  18858.     Public.  Should only be called by the frame's part.
  18859.  
  18860. Override policy
  18861.     Derived class can override.
  18862.     Derived class can call base class behavior, during derived class behavior.
  18863.  
  18864. Basic operation
  18865. Set the presentation kind of this frame to "presentation". Should only
  18866. be called by frame's part.
  18867.  
  18868. Inputs
  18869. presentation
  18870.     The frame's presentation kind.
  18871.  
  18872. Outputs
  18873. None.
  18874.  
  18875. Exceptions Signalled
  18876. None.
  18877.  
  18878. Pre conditions
  18879. None.
  18880.  
  18881. Post conditions
  18882. None.
  18883.  
  18884. æKY ODFrame::SetPropagateEvents
  18885. Frame::SetPropagateEvents
  18886. Frame->SetPropagateEvents
  18887. æT Class Method
  18888. æD void   SetPropagateEvents(
  18889. ODBoolean doesPropagateEvents);
  18890.  
  18891. æC Protection
  18892.     Public.  
  18893.  
  18894. Override policy
  18895.     Derived class can override.
  18896.     Derived class can call base class behavior, during derived class behavior.
  18897.  
  18898. Basic operation
  18899. Set whether this frame should delegate unhandled events to its
  18900. containing frame.
  18901.  
  18902. Inputs
  18903. doesPropagateEvents
  18904.     New value for doesPropagateEvents flag.
  18905.  
  18906. Outputs
  18907. None.
  18908.  
  18909. Exceptions Signalled
  18910. None.
  18911.  
  18912. Pre conditions
  18913. None.
  18914.  
  18915. Post conditions
  18916. None.
  18917.  
  18918. æKY ODFrame::SetSequenceNumber
  18919. Frame::SetSequenceNumber
  18920. Frame->SetSequenceNumber
  18921. æT Class Method
  18922. æD void SetSequenceNumber(
  18923. ODULong sequenceNumber);
  18924.  
  18925. æC Protection
  18926.     Public.  
  18927.  
  18928. Override policy
  18929.     Derived class can override.
  18930.     Derived class can call base class behavior, during derived class behavior.
  18931.  
  18932. Basic operation
  18933. Set the sequence number of this frame. The number should be unique
  18934. within the frame's group in its containing part. Should only be called
  18935. by the containing part.
  18936.  
  18937. Inputs
  18938. sequenceNumber
  18939.     The new sequence number.
  18940.  
  18941. Outputs
  18942. None.
  18943.  
  18944. Exceptions Signalled
  18945. None.
  18946.  
  18947. Pre conditions
  18948. None.
  18949.  
  18950. Post conditions
  18951. None.
  18952.  
  18953. æKY ODFrame::SetSubframe
  18954. Frame::SetSubframe
  18955. Frame->SetSubframe
  18956. æT Class Method
  18957. æD void   SetSubframe(
  18958. ODBoolean isSubframe);
  18959.  
  18960. æC Protection
  18961.     Public.  
  18962.  
  18963. Override policy
  18964.     Derived class can override.
  18965.     Derived class can call base class behavior, during derived class behavior.
  18966.  
  18967. Basic operation
  18968. Set whether this frame is a subframe of a containing frame.
  18969.  
  18970. Inputs
  18971. isSubframe
  18972.     The value for the isSubframe flag.
  18973.  
  18974. Outputs
  18975. None.
  18976.  
  18977. Exceptions Signalled
  18978. None.
  18979.  
  18980. Pre conditions
  18981. None.
  18982.  
  18983. Post conditions
  18984. None.
  18985.  
  18986. æKY ODFrame::SetViewType
  18987. Frame::SetViewType
  18988. Frame->SetViewType
  18989. æT Class Method
  18990. æD void   SetViewType(
  18991. ODTypeToken viewType);
  18992.  
  18993. æC Protection
  18994.     Public.  Should only be called by frame's part.
  18995.  
  18996. Override policy
  18997.     Derived class can override.
  18998.     Derived class can call base class behavior, during derived class behavior.
  18999.  
  19000. Basic operation
  19001. Set the viewType of this frame to "viewType". Should only be called by
  19002. frame's part.
  19003.  
  19004. Inputs
  19005. viewType
  19006.     The frame's new viewType.
  19007.  
  19008. Outputs
  19009. None.
  19010.  
  19011. Exceptions Signalled
  19012. None.
  19013.  
  19014. Pre conditions
  19015. None.
  19016.  
  19017. Post conditions
  19018. None.
  19019.  
  19020. æKY ODFrame::SetWindow
  19021. Frame::SetWindow
  19022. Frame->SetWindow
  19023. æT Class Method
  19024. æD void SetWindow(
  19025. ODWindow* window);
  19026.  
  19027. æC Protection
  19028.     Public.  Called by the window when it creates this frame as its root frame.
  19029.  
  19030. Override policy
  19031.     Derived class can override.
  19032.     Derived class can call base class behavior, during derived class behavior.
  19033.  
  19034. Basic operation
  19035. Set the window field of this frame. Only valid for root frames.
  19036.  
  19037. Inputs
  19038. window
  19039.     The window for this frame.
  19040.  
  19041. Outputs
  19042. None.
  19043.  
  19044. Exceptions Signalled
  19045. None.
  19046.  
  19047. Pre conditions
  19048. None.
  19049.  
  19050. Post conditions
  19051. None.
  19052.  
  19053. æKY ODFrame::Validate
  19054. Frame::Validate
  19055. Frame->Validate
  19056. æT Class Method
  19057. æD void Validate(
  19058. ODShape* validShape,
  19059. ODCanvas* biasCanvas);
  19060.  
  19061. æC Protection
  19062.     Public.  
  19063.  
  19064. Override policy
  19065.     Derived class can override.
  19066.     Derived class can call base class behavior, during derived class behavior.
  19067.  
  19068. Basic operation
  19069. Ask frame to mark "validShape" as no longer needing to be redrawn. The
  19070. frame forwards the request to all its facets via Facet::Validate().
  19071.  
  19072. Inputs
  19073. validShape
  19074.     The shape which no loger needs to be redrawn. In frame coordinates.
  19075. biasCanvas
  19076.     The canvas to whose coordinate space the call is biased. May be
  19077. kODNULL if the geometry is in the standard platform coordinate bias.
  19078.  
  19079. Outputs
  19080. None.
  19081.  
  19082. Exceptions Signalled
  19083. None.
  19084.  
  19085. Pre conditions
  19086. None.
  19087.  
  19088. Post conditions
  19089. None.
  19090.  
  19091. æKY ODFrame::fContainingFrame
  19092. Frame::fContainingFrame
  19093. æT Class Field
  19094. æD ODFrame*
  19095. æC 
  19096. æKY ODFrame::fContentExtent
  19097. Frame::fContentExtent
  19098. æT Class Field
  19099. æD ODPoint fContentExtent;
  19100. æC 
  19101. æKY ODFrame::fDoesPropagateEvents
  19102. Frame::fDoesPropagateEvents
  19103. æT Class Field
  19104. æD ODBoolean
  19105. æC 
  19106. æKY ODFrame::fFacets
  19107. Frame::fFacets
  19108. æT Class Field
  19109. æD OrderedCollection*
  19110. æC 
  19111. æKY ODFrame::fFrameGroup
  19112. Frame::fFrameGroup
  19113. æT Class Field
  19114. æD ODULong
  19115. æC 
  19116. æKY ODFrame::fFrameShape
  19117. Frame::fFrameShape
  19118. æT Class Field
  19119. æD ODShape*
  19120. æC 
  19121. æKY ODFrame::fGettingPart
  19122. Frame::fGettingPart
  19123. æT Class Field
  19124. æD ODBoolean
  19125. æC 
  19126. æKY ODFrame::fInternalTransform
  19127. Frame::fInternalTransform
  19128. æT Class Field
  19129. æD ODTransform*
  19130. æC 
  19131. æKY ODFrame::fIsDragging
  19132. Frame::fIsDragging
  19133. æT Class Field
  19134. æD ODBoolean
  19135. æC 
  19136. æKY ODFrame::fIsDroppable
  19137. Frame::fIsDroppable
  19138. æT Class Field
  19139. æD ODBoolean
  19140. æC 
  19141. æKY ODFrame::fIsFrozen
  19142. Frame::fIsFrozen
  19143. æT Class Field
  19144. æD ODBoolean
  19145. æC 
  19146. æKY ODFrame::fIsOverlaid
  19147. Frame::fIsOverlaid
  19148. æT Class Field
  19149. æD ODBoolean
  19150. æC 
  19151. æKY ODFrame::fIsRoot
  19152. Frame::fIsRoot
  19153. æT Class Field
  19154. æD ODBoolean
  19155. æC 
  19156. æKY ODFrame::fIsSubframe
  19157. Frame::fIsSubframe
  19158. æT Class Field
  19159. æD ODBoolean
  19160. æC 
  19161. æKY ODFrame::fPart
  19162. Frame::fPart
  19163. æT Class Field
  19164. æD ODPart*
  19165. æC 
  19166. æKY ODFrame::fPartInfo
  19167. Frame::fPartInfo
  19168. æT Class Field
  19169. æD ODInfoType
  19170. æC 
  19171. æKY ODFrame::fPresentation
  19172. Frame::fPresentation
  19173. æT Class Field
  19174. æD ODTypeToken
  19175. æC 
  19176. æKY ODFrame::fSequenceNumber
  19177. Frame::fSequenceNumber
  19178. æT Class Field
  19179. æD ODULong
  19180. æC 
  19181. æKY ODFrame::fUsedShape
  19182. Frame::fUsedShape
  19183. æT Class Field
  19184. æD ODShape*
  19185. æC 
  19186. æKY ODFrame::fViewType
  19187. Frame::fViewType
  19188. æT Class Field
  19189. æD ODTypeToken
  19190. æC 
  19191. æKY ODFrame::fWindow
  19192. Frame::fWindow
  19193. æT Class Field
  19194. æD ODWindow*
  19195. æC 
  19196.  
  19197. æKY ODFrameFacetIteratorHelp
  19198. ODFrameFacetIterator
  19199. FrameFacetIterator
  19200. æKL ODFrameFacetIterator::ODFrameFacetIterator
  19201. ODFrameFacetIterator::~ODFrameFacetIterator
  19202. ODFrameFacetIterator::First
  19203. ODFrameFacetIterator::IsNotComplete
  19204. ODFrameFacetIterator::Next
  19205. æC Basic Class Documentation
  19206. Ancestors: none
  19207.  
  19208. ODFrameFacetIterator lists the facets of a frame.
  19209.  
  19210. Theory of Operation
  19211.  
  19212.  
  19213. Invariants Maintained by Class
  19214.  
  19215. æKY ODFrameFacetIterator::ODFrameFacetIterator
  19216. FrameFacetIterator::ODFrameFacetIterator
  19217. FrameFacetIterator->ODFrameFacetIterator
  19218. æT Class Method
  19219. æD ODFrameFacetIterator(
  19220. ODFrame* frame);
  19221.  
  19222. æC Protection
  19223.     Public.  
  19224.  
  19225. Override policy
  19226.     Derived class can override.
  19227.     Derived class can call base class behavior, during derived class behavior.
  19228.  
  19229. Basic operation
  19230. Construct an iterator on the facets of a frame.
  19231.  
  19232. Inputs
  19233. frame
  19234.     The frame who's facets to iterate.
  19235.  
  19236. Outputs
  19237. <return>
  19238.     <return>
  19239.  
  19240. Exceptions Signalled
  19241. None.
  19242.  
  19243. Pre conditions
  19244. None.
  19245.  
  19246. Post conditions
  19247. None.
  19248.  
  19249. æKY ODFrameFacetIterator::~ODFrameFacetIterator
  19250. FrameFacetIterator::~ODFrameFacetIterator
  19251. FrameFacetIterator->~ODFrameFacetIterator
  19252. æT Class Method
  19253. æD ~ODFrameFacetIterator();
  19254.  
  19255. æC Protection
  19256.     Public.  
  19257.  
  19258. Override policy
  19259.     Derived class can override.
  19260.     Derived class can call base class behavior, during derived class behavior.
  19261.  
  19262. Basic operation
  19263. Destructor.
  19264.  
  19265. Inputs
  19266. None.
  19267.  
  19268. Outputs
  19269. None.
  19270.  
  19271. Exceptions Signalled
  19272. None.
  19273.  
  19274. Pre conditions
  19275. None.
  19276.  
  19277. Post conditions
  19278. None.
  19279.  
  19280. æKY ODFrameFacetIterator::First
  19281. FrameFacetIterator::First
  19282. FrameFacetIterator->First
  19283. æT Class Method
  19284. æD ODFacet* First();
  19285.  
  19286. æC Protection
  19287.     Public.  
  19288.  
  19289. Override policy
  19290.     Derived class can override.
  19291.     Derived class can call base class behavior, during derived class behavior.
  19292.  
  19293. Basic operation
  19294. Return the first facet of the frame.
  19295.  
  19296. Inputs
  19297. None.
  19298.  
  19299. Outputs
  19300. <return>
  19301.     The first facet in the sequence.
  19302.  
  19303. Exceptions Signalled
  19304. None.
  19305.  
  19306. Pre conditions
  19307. None.
  19308.  
  19309. Post conditions
  19310. None.
  19311.  
  19312. æKY ODFrameFacetIterator::IsNotComplete
  19313. FrameFacetIterator::IsNotComplete
  19314. FrameFacetIterator->IsNotComplete
  19315. æT Class Method
  19316. æD ODBoolean IsNotComplete();
  19317.  
  19318. æC Protection
  19319.     Public.  
  19320.  
  19321. Override policy
  19322.     Derived class can override.
  19323.     Derived class can call base class behavior, during derived class behavior.
  19324.  
  19325. Basic operation
  19326. Return whether the last item returned from First() or Next() was
  19327. valid.
  19328.  
  19329. Inputs
  19330. None.
  19331.  
  19332. Outputs
  19333. <return>
  19334.     True if iterator is not yet complete, false otherwise.
  19335.  
  19336. Exceptions Signalled
  19337. None.
  19338.  
  19339. Pre conditions
  19340. None.
  19341.  
  19342. Post conditions
  19343. None.
  19344.  
  19345. æKY ODFrameFacetIterator::Next
  19346. FrameFacetIterator::Next
  19347. FrameFacetIterator->Next
  19348. æT Class Method
  19349. æD ODFacet* Next();
  19350.  
  19351. æC Protection
  19352.     Public.  
  19353.  
  19354. Override policy
  19355.     Derived class can override.
  19356.     Derived class can call base class behavior, during derived class behavior.
  19357.  
  19358. Basic operation
  19359. Answer the next facet in the sequence.
  19360.  
  19361. Inputs
  19362. None.
  19363.  
  19364. Outputs
  19365. <return>
  19366.     The next facet.
  19367.  
  19368. Exceptions Signalled
  19369. None.
  19370.  
  19371. Pre conditions
  19372. None.
  19373.  
  19374. Post conditions
  19375. None.
  19376.  
  19377.  
  19378. æKY ODInfoHelp
  19379. ODInfo
  19380. Info
  19381. æKL ODInfo::ShowPartFrameInfo
  19382. æC Basic Class Documentation
  19383. The purpose of this class is to provide an API for part developers to
  19384. show info, or properties about themselves or their embeded parts.
  19385. Superclass: ODObject
  19386.  
  19387. Theory of Operation
  19388. There is only one instance of this class per ODSession.  ODSession
  19389. creates this one instance when initialized and deletes it when
  19390. deleted.  Clients should get this one instance from the session object
  19391. by calling session->GetInfo() and then making calls onto the returned
  19392. ODInfo object.
  19393.  
  19394. Invariants Maintained by Class
  19395.  
  19396. æKY ODInfo::ShowPartFrameInfo
  19397. Info::ShowPartFrameInfo
  19398. Info->ShowPartFrameInfo
  19399. æT Class Method
  19400. æD ODBoolean ShowPartFrameInfo(
  19401. ODFacet* facet);
  19402.  
  19403. æC Protection
  19404.     Public.  
  19405.  
  19406. Override policy
  19407.     Derived class can override.
  19408.     Derived class can call base class behavior, during derived class behavior.
  19409.  
  19410. Basic operation
  19411. This method is to be used in conjuction with the "Part Info" item in
  19412. the "Edit" menu.  The method displays the Part Info dialog centered on
  19413. the window which the passed in facet is on, and permits the user to
  19414. make changes to info properties on the facet's frame and that frame's
  19415. part.
  19416.  
  19417. Inputs
  19418. facet
  19419.     The facet passed in is used to determine which window to display the
  19420. dialog on.  The properties displayed in the dialog come from both
  19421. frame of the facet and the part of that frame.  If the caller
  19422. currently has an embedded frame which is selected that should be frame
  19423. whose facet is passed in.  If no embedded frames are selected, then
  19424. the caller should pass in a facet of the caller's frame.
  19425.  
  19426. Outputs
  19427. <return>
  19428.     If the user clicks OK, then this method returns kODTrue.  If the user
  19429. clicks Cancel, then this method returns kODFalse.
  19430.  
  19431. Exceptions Signalled
  19432. None.
  19433.  
  19434. Pre conditions
  19435. 'facet' is an ODFacet object of a frame which is selected in the
  19436. content of the caller or an ODFacet object of a frame of the caller
  19437. itself.
  19438.  
  19439. Post conditions
  19440. Info settings have been updated to reflect what the user chose in the
  19441. dialog.
  19442.  
  19443.  
  19444. æKY ODLinkHelp
  19445. ODLink
  19446. Link
  19447. æKL ODLink::ODLink
  19448. ODLink::~ODLink
  19449. ODLink::CloneTo
  19450. ODLink::CreateLinkEdition
  19451. ODLink::Externalize
  19452. ODLink::GetChangeTime
  19453. ODLink::GetContentStorageUnit
  19454. ODLink::GetLinkEdition
  19455. ODLink::GetLinkSource
  19456. ODLink::GetUpdateID
  19457. ODLink::InitLink
  19458. ODLink::InitLinkFromStorage
  19459. ODLink::Lock
  19460. ODLink::Purge
  19461. ODLink::RegisterDependent
  19462. ODLink::ReleaseAll
  19463. ODLink::SetLinkSource
  19464. ODLink::ShowLinkDestinationInfo
  19465. ODLink::ShowSourceContent
  19466. ODLink::Unlock
  19467. ODLink::UnregisterDependent
  19468. ODLink::UpdateLinkEdition
  19469. ODLink::fLinkSource
  19470. ODLink::fPartList
  19471. ODLink::fSection
  19472. æC Basic Class Documentation
  19473. This class represents the destinations of an OpenDoc link. Instances
  19474. of this class will be created and maintained by ODDrafts whenever the
  19475. user creates a dynamic link between parts. The platform vendor
  19476. implements this class. This class is not to be subclassed by
  19477. developers. ODLink is a subclass of ODPersistentObject.
  19478.  
  19479. For further information on the implementation of OpenDoc links, part
  19480. developers are referred to the documentation for the companion class
  19481. ODLinkSource, and the class ODLinkSpec.  Specific methods of class
  19482. ODPart and ODFrame are also relevant to a complete understanding of
  19483. linking.
  19484.  
  19485. Document shell developers and platform vendors are referred to the
  19486. documentation on the ODLinkManager.
  19487.  
  19488. Theory of Operation
  19489. A destination part creates a link by grabbing a link specification
  19490. from the clipboard or drag-and-drop container, and passing that
  19491. description to its draft's GetLink method.  GetLink returns an ODLink
  19492. object through which the destination retrieves the content of the
  19493. link.   See the description of ODLinkSource for a complete description
  19494. of the creation of a link.
  19495.  
  19496. If the destination part wishes to be notified of changes to the link's
  19497. content, it registers itself with the link object by calling
  19498. ODLink::RegisterDependent. If the link's content has changed since the
  19499. part last updated, the link object calls the part's LinkUpdated method
  19500. to notify the part to read the link data. The part will call
  19501. ODLink::GetContentStorageUnit to access the data.
  19502.  
  19503. A destination part's registration with a link is not permanent.  Each
  19504. time a part containing a link destination is initialized, it should
  19505. re-register with the link object.  A destination part may explicitly
  19506. unregister itself with a link by calling ODLink::UnregisterDependent. 
  19507. This should be performed when the user breaks the link at the
  19508. destination, for example, or if the linked content is deleted.
  19509.  
  19510. Invariants Maintained by Class
  19511. Dependent parts must be maintained in a list for there may be more
  19512. than one.
  19513. æKY ODLink::ODLink
  19514. Link::ODLink
  19515. Link->ODLink
  19516. æT Class Method
  19517. æD ODLink();
  19518.  
  19519. æC Protection
  19520.     Public.  Should only be called by the ODDraft class.
  19521.  
  19522. Override policy
  19523.     Derived class cannot override.
  19524.     Derived class cannot call base class behavior, during derived class behavior.
  19525.  
  19526. Basic operation
  19527. Initializes data members of the ODLink object to known values.
  19528.  
  19529. Inputs
  19530. None.
  19531.  
  19532. Outputs
  19533. None.
  19534.  
  19535. Exceptions Signalled
  19536. None.
  19537.  
  19538. Pre conditions
  19539. None.
  19540.  
  19541. Post conditions
  19542. The link object is initialized to a known state.
  19543.  
  19544. æKY ODLink::~ODLink
  19545. Link::~ODLink
  19546. Link->~ODLink
  19547. æT Class Method
  19548. æD ~ODLink();
  19549.  
  19550. æC Protection
  19551.     Public.  Should only be called by ODDraft.
  19552.  
  19553. Override policy
  19554.     Derived class cannot override.
  19555.     Derived class cannot call base class behavior, during derived class behavior.
  19556.  
  19557. Basic operation
  19558. Destroys the ODLink object.
  19559.  
  19560. Inputs
  19561. None
  19562.  
  19563. Outputs
  19564. None
  19565.  
  19566. Exceptions Signalled
  19567. None.
  19568.  
  19569. Pre conditions
  19570. None.
  19571.  
  19572. Post conditions
  19573. There is no more record of this link.
  19574.  
  19575. æKY ODLink::CloneTo
  19576. Link::CloneTo
  19577. Link->CloneTo
  19578. æT Class Method
  19579. æD ODStorageUnit* CloneTo(
  19580. ODDraftKey draftKey,
  19581. ODDraft* destDraft);
  19582.  
  19583. æC Protection
  19584.     Public.  
  19585.  
  19586. Override policy
  19587.     Derived class can override.
  19588.     Derived class can call base class behavior, during derived class behavior.
  19589.  
  19590. Basic operation
  19591. Clone this object into the destination draft.
  19592.  
  19593. Inputs
  19594. draftKey
  19595.     ODDraftKey identifying the Clone transaction. 
  19596. destDraft
  19597.     The draft to clone this object into.
  19598.  
  19599. Outputs
  19600. <return>
  19601.     The storage unit containing the persistent representation of this
  19602. object in the destination draft. 
  19603.  
  19604. Exceptions Signalled
  19605. kODErrCloneNotStarted
  19606.     A Clone was started unsuccessfully.
  19607. kODErrInvalidDraftKey
  19608.     Invalid Clone.
  19609.  
  19610. Pre conditions
  19611. None.
  19612.  
  19613. Post conditions
  19614. None.
  19615.  
  19616. æKY ODLink::CreateLinkEdition
  19617. Link::CreateLinkEdition
  19618. Link->CreateLinkEdition
  19619. æT Class Method
  19620. æD AliasHandle CreateLinkEdition(
  19621. EditionContainerSpec editionContainer,
  19622. ODFileSpec* documentSpec,
  19623. ODULong sectionID,
  19624. ODLinkKey key);
  19625.  
  19626. æC Protection
  19627.     Public.  Macintosh specific.  Should only be called by the ODLinkManager
  19628. object.
  19629.  
  19630. Override policy
  19631.     Derived class cannot override.
  19632.     Derived class cannot call base class behavior, during derived class behavior.
  19633.  
  19634. Basic operation
  19635. Create an edition file using the argument container and unique section
  19636. ID.
  19637.  
  19638. Inputs
  19639. editionContainer
  19640.     Specifies the edition file to create.
  19641. documentSpec
  19642.     The file containing this object's draft.
  19643. sectionID
  19644.     The section identification to use for this link.
  19645. key
  19646.     A valid key returned by Lock().
  19647.  
  19648. Outputs
  19649. <result>
  19650.     An alias to the edition file.
  19651.  
  19652. Exceptions Signalled
  19653. kODErrInvalidLinkKey
  19654.  
  19655. Pre conditions
  19656. The link object does not maintain an edition file.
  19657.  
  19658. Post conditions
  19659. The link object maintains the edition file identified by the returned
  19660. alias.
  19661.  
  19662. æKY ODLink::Externalize
  19663. Link::Externalize
  19664. Link->Externalize
  19665. æT Class Method
  19666. æD void Externalize();
  19667.  
  19668. æC Protection
  19669.     Public.  
  19670.  
  19671. Override policy
  19672.     Derived class cannot override.
  19673.     Derived class cannot call base class behavior, during derived class behavior.
  19674.  
  19675. Basic operation
  19676. Externalizes persistent data
  19677.  
  19678. Inputs
  19679. None.
  19680.  
  19681. Outputs
  19682. None.
  19683.  
  19684. Exceptions Signalled
  19685. <Storage exceptions>
  19686.     Storage exceptions may be signalled. 
  19687.  
  19688. Pre conditions
  19689. None.
  19690.  
  19691. Post conditions
  19692. The link's persistent storage unit is consistent with the link.
  19693.  
  19694. æKY ODLink::GetChangeTime
  19695. Link::GetChangeTime
  19696. Link->GetChangeTime
  19697. æT Class Method
  19698. æD time_t GetChangeTime();
  19699.  
  19700. æC Protection
  19701.     Public.  
  19702.  
  19703. Override policy
  19704.     Derived class can override.
  19705.     Derived class can call base class behavior, during derived class behavior.
  19706.  
  19707. Basic operation
  19708. Return the time of the last update to the source of the link.
  19709.  
  19710. Inputs
  19711. None.
  19712.  
  19713. Outputs
  19714. <return>
  19715.     The time the source of the link was updated.
  19716.  
  19717. Exceptions Signalled
  19718. None.
  19719.  
  19720. Pre conditions
  19721. None.
  19722.  
  19723. Post conditions
  19724. None.
  19725.  
  19726. æKY ODLink::GetContentStorageUnit
  19727. Link::GetContentStorageUnit
  19728. Link->GetContentStorageUnit
  19729. æT Class Method
  19730. æD ODStorageUnit* GetContentStorageUnit(
  19731. ODLinkKey key);
  19732.  
  19733. æC Protection
  19734.     Public.  No restrictions.
  19735.  
  19736. Override policy
  19737.     Derived class cannot override.
  19738.     Derived class cannot call base class behavior, during derived class behavior.
  19739.  
  19740. Basic operation
  19741. Returns a reference to the ODStorageUnit containing the content of the
  19742. link.
  19743.  
  19744. Inputs
  19745. key
  19746.     A valid key returned by Lock().
  19747.  
  19748. Outputs
  19749. <result>
  19750.     A reference to the content storage unit.
  19751.  
  19752. Exceptions Signalled
  19753. kODErrInvalidLinkKey
  19754.     The key argument is not valid.
  19755.  
  19756. Pre conditions
  19757. The key argument is a valid key returned by Lock().
  19758.  
  19759. Post conditions
  19760. The returned storage unit is guaranteed to be valid until the key is
  19761. relinquished by Unlock().
  19762.  
  19763. æKY ODLink::GetLinkEdition
  19764. Link::GetLinkEdition
  19765. Link->GetLinkEdition
  19766. æT Class Method
  19767. æD AliasHandle GetLinkEdition(
  19768. ODLinkKey key);
  19769.  
  19770. æC Protection
  19771.     Public.  Macintosh specific.  Should only be called by the ODLinkManager
  19772. object.
  19773.  
  19774. Override policy
  19775.     Derived class cannot override.
  19776.     Derived class cannot call base class behavior, during derived class behavior.
  19777.  
  19778. Basic operation
  19779. If the link maintains  an edition file, return an alias to the file;
  19780. otherwise, return kODNULL.
  19781.  
  19782. Inputs
  19783. key
  19784.     A valid key returned by Lock().
  19785.  
  19786. Outputs
  19787. <result>
  19788.     An edition file alias or kODNULL.
  19789.  
  19790. Exceptions Signalled
  19791. kODErrInvalidLinkKey
  19792.  
  19793. Pre conditions
  19794. None.
  19795.  
  19796. Post conditions
  19797. None.
  19798.  
  19799. æKY ODLink::GetLinkSource
  19800. Link::GetLinkSource
  19801. Link->GetLinkSource
  19802. æT Class Method
  19803. æD ODLinkSource* GetLinkSource();
  19804.  
  19805. æC Protection
  19806.     Public.  For use by container suites only.  Not for use by parts or container
  19807. applications.
  19808.  
  19809. Override policy
  19810.     Derived class can override.
  19811.     Derived class can call base class behavior, during derived class behavior.
  19812.  
  19813. Basic operation
  19814. Returns the companion ODLinkSource object.
  19815.  
  19816. Inputs
  19817. None.
  19818.  
  19819. Outputs
  19820. <return>
  19821.     The companion ODLinkSource object.
  19822.  
  19823. Exceptions Signalled
  19824. kODErrBrokenLink
  19825.     There is no companion ODLinkSource object for this object.
  19826.  
  19827. Pre conditions
  19828. This is an initialized ODLink object.
  19829.  
  19830. Post conditions
  19831. None.
  19832.  
  19833. æKY ODLink::GetUpdateID
  19834. Link::GetUpdateID
  19835. Link->GetUpdateID
  19836. æT Class Method
  19837. æD ODUpdateID GetUpdateID();
  19838.  
  19839. æC Protection
  19840.     Public.  Can be used by parts containing a destination of this link to
  19841. determine if new content is available.
  19842.  
  19843. Override policy
  19844.     Derived class cannot override.
  19845.     Derived class cannot call base class behavior, during derived class behavior.
  19846.  
  19847. Basic operation
  19848. Returns the current update identification of the link content.  This
  19849. method may be used by destinations to determine if new content is
  19850. available.   Parts can also receive automatic notification of new
  19851. content by calling the RegisterDependent() method.  The returned value
  19852. should be tested for equality only, as there is no implicit ordering
  19853. of update ids.
  19854.  
  19855. Inputs
  19856. None.
  19857.  
  19858. Outputs
  19859. <return>
  19860.     The update identification associated with the current link content.
  19861.  
  19862. Exceptions Signalled
  19863. None.
  19864.  
  19865. Pre conditions
  19866. None.
  19867.  
  19868. Post conditions
  19869. None.
  19870.  
  19871. æKY ODLink::InitLink
  19872. Link::InitLink
  19873. Link->InitLink
  19874. æT Class Method
  19875. æD void InitLink(
  19876. ODStorageUnit* storageUnit);
  19877.  
  19878. æC Protection
  19879.     Private.  Only called by ODDraft; parts cannot call.
  19880.  
  19881. Override policy
  19882.     Derived class cannot override.
  19883.     Derived class cannot call base class behavior, during derived class behavior.
  19884.  
  19885. Basic operation
  19886. Initializes a new link object.  Should be followed by a call to
  19887. SetLinkSource() after the associated link source object has been
  19888. initialized.
  19889.  
  19890. Inputs
  19891. storageUnit
  19892.     The persistent storage unit for the link.
  19893.  
  19894. Outputs
  19895. None.
  19896.  
  19897. Exceptions Signalled
  19898. kODErrOutOfMemory
  19899.     Out of memory.
  19900.  
  19901. Pre conditions
  19902. None.
  19903.  
  19904. Post conditions
  19905. The link object is partially initialized.
  19906.  
  19907. æKY ODLink::InitLinkFromStorage
  19908. Link::InitLinkFromStorage
  19909. Link->InitLinkFromStorage
  19910. æT Class Method
  19911. æD void InitLinkFromStorage(
  19912. ODStorageUnit* storageUnit);
  19913.  
  19914. æC Protection
  19915.     Public.  Only called by ODDraft; parts cannot call.
  19916.  
  19917. Override policy
  19918.     Derived class cannot override.
  19919.     Derived class cannot call base class behavior, during derived class behavior.
  19920.  
  19921. Basic operation
  19922. Internalizes the object from its persistent storage unit.
  19923.  
  19924. Inputs
  19925. storageUnit
  19926.     The persistent storage unit for the link object.
  19927.  
  19928. Outputs
  19929. None.
  19930.  
  19931. Exceptions Signalled
  19932. <Storage exceptions>
  19933.     Exceptions may be raised reading persistent properties. 
  19934. kODLinkBroken
  19935.     The associated link source object could not be found.
  19936.  
  19937. Pre conditions
  19938. None.
  19939.  
  19940. Post conditions
  19941. The link object is initialized.
  19942.  
  19943. æKY ODLink::Lock
  19944. Link::Lock
  19945. Link->Lock
  19946. æT Class Method
  19947. æD ODBoolean Lock(
  19948. ODULong wait,
  19949. ODLinkKey* key);
  19950.  
  19951. æC Protection
  19952.     Public.  Parts must call this method to aquire a key required by other methods.
  19953.  
  19954. Override policy
  19955.     Derived class cannot override.
  19956.     Derived class cannot call base class behavior, during derived class behavior.
  19957.  
  19958. Basic operation
  19959. Gain exclusive access to the content storage unit of the link. The
  19960. value kODTrue is returned if the lock is granted; the key argument is
  19961. set to a valid link key.
  19962.  
  19963. Inputs
  19964. wait
  19965.     The interval to wait for access to be granted.  A value of zero means
  19966. no wait, a value of ULONG_MAX means an indefinite wait.  Other values
  19967. are platform-dependent.
  19968.  
  19969. Outputs
  19970. key
  19971.     If the result is kODTrue, a valid key value required by routines that
  19972. access or modify the link's content.  If the result is kODFalse, key
  19973. is an undefined invalid key.
  19974. <result>
  19975.     kODTrue if access is granted and kODFalse if denied.
  19976.  
  19977. Exceptions Signalled
  19978. None.
  19979.  
  19980. Pre conditions
  19981. None.
  19982.  
  19983. Post conditions
  19984. If kODTrue is returned, the returned key parameter provides exclusive
  19985. access to the link's content.
  19986.  
  19987. æKY ODLink::Purge
  19988. Link::Purge
  19989. Link->Purge
  19990. æT Class Method
  19991. æD ODSize Purge(
  19992. ODSize size);
  19993.  
  19994. æC Protection
  19995.     Public.  
  19996.  
  19997. Override policy
  19998.     Derived class cannot override.
  19999.     Derived class cannot call base class behavior, during derived class behavior.
  20000.  
  20001. Basic operation
  20002. Attempts to free any storage it can. Returns amount it was able to
  20003. free.
  20004.  
  20005. Inputs
  20006. size
  20007.     Amount of memory requested
  20008.  
  20009. Outputs
  20010. Return
  20011.     value Amount of memory that was freed
  20012.  
  20013. Exceptions Signalled
  20014. None.
  20015.  
  20016. Pre conditions
  20017. None.
  20018.  
  20019. Post conditions
  20020. Some memory may be freed for use.
  20021.  
  20022. æKY ODLink::RegisterDependent
  20023. Link::RegisterDependent
  20024. Link->RegisterDependent
  20025. æT Class Method
  20026. æD void RegisterDependent(
  20027. ODPart* clientPart,
  20028. ODUpdateID id);
  20029.  
  20030. æC Protection
  20031.     Public.  Parts containing the destination of this link call this method to
  20032. receive notification of changes to the link's content.
  20033.  
  20034. Override policy
  20035.     Derived class cannot override.
  20036.     Derived class cannot call base class behavior, during derived class behavior.
  20037.  
  20038. Basic operation
  20039. Puts the clientPart reference on a list for notification of changes to
  20040. the link's content.
  20041.  
  20042. Inputs
  20043. clientPart
  20044.     A destination part wishing to be informed of changes to the contents
  20045. of the link.
  20046. id
  20047.     The identification of the last update read from the link.  The
  20048. constant kODUnknownUpdate may be supplied to force notification to
  20049. read the initial content from the link.  The clientPart’s
  20050. LinkUpdated() method is called immediately if the link’s current
  20051. update id differs from the argument.
  20052.  
  20053. Outputs
  20054. None
  20055.  
  20056. Exceptions Signalled
  20057. kODErrOutOfMemory
  20058.     Not enough memory
  20059.  
  20060. Pre conditions
  20061. None.
  20062.  
  20063. Post conditions
  20064. None.
  20065.  
  20066. æKY ODLink::ReleaseAll
  20067. Link::ReleaseAll
  20068. Link->ReleaseAll
  20069. æT Class Method
  20070. æD void ReleaseAll();
  20071.  
  20072. æC Protection
  20073.     Public.  Should only be called by ODDraft objects.  Parts do not call.
  20074.  
  20075. Override policy
  20076.     Derived class cannot override.
  20077.     Derived class cannot call base class behavior, during derived class behavior.
  20078.  
  20079. Basic operation
  20080. Used by the Draft to get the link to release all references to 
  20081. persistent obects.  After calling this method, the effect of calling
  20082. other methods is undefined.  The link object should be immediately
  20083. deleted.
  20084.  
  20085. Inputs
  20086. None.
  20087.  
  20088. Outputs
  20089. None.
  20090.  
  20091. Exceptions Signalled
  20092. None.
  20093.  
  20094. Pre conditions
  20095. The link object has been initialized.
  20096.  
  20097. Post conditions
  20098. The link object holds no references to other persistent objects.
  20099.  
  20100. æKY ODLink::SetLinkSource
  20101. Link::SetLinkSource
  20102. Link->SetLinkSource
  20103. æT Class Method
  20104. æD void SetLinkSource(
  20105. ODLinkSource* linkSource);
  20106.  
  20107. æC Protection
  20108.     Public.  Only called by ODDraft; parts cannot call.
  20109.  
  20110. Override policy
  20111.     Derived class can override.
  20112.     Derived class can call base class behavior, during derived class behavior.
  20113.  
  20114. Basic operation
  20115. Completes initialization of this object.  Should be called after the
  20116. argument link source object's InitLinkSource method has been called.
  20117.  
  20118. Inputs
  20119. linkSource
  20120.     The associated link source object.
  20121.  
  20122. Outputs
  20123. None.
  20124.  
  20125. Exceptions Signalled
  20126. None.
  20127.  
  20128. Pre conditions
  20129. This link object's InitLink method has been called.
  20130.  
  20131. Post conditions
  20132. This link object is completely initialized.
  20133.  
  20134. æKY ODLink::ShowLinkDestinationInfo
  20135. Link::ShowLinkDestinationInfo
  20136. Link->ShowLinkDestinationInfo
  20137. æT Class Method
  20138. æD ODBoolean ShowLinkDestinationInfo(
  20139. ODFacet* facet,
  20140. ODLinkInfo* info,
  20141. ODBoolean changesAllowed,
  20142. ODLinkInfoResult* infoResult);
  20143.  
  20144. æC Protection
  20145.     Public.  
  20146.  
  20147. Override policy
  20148.     Derived class can override.
  20149.     Derived class can call base class behavior, during derived class behavior.
  20150.  
  20151. Basic operation
  20152. Display the link dialog showing the information on a destination link.
  20153. If the return value of this function is kODFalse, that means the user
  20154. has cancelled out of the dialog and no further action needs to be
  20155. taken. Otherwise, the caller should examine infoResult and procced
  20156. accordingly.
  20157.  
  20158. Inputs
  20159. facet
  20160.     facet over which the dialog is going to be displayed.
  20161. info
  20162.     a structure containing the information of the link.
  20163. changesAllowed
  20164.     If kODTrue, allow the user to change settings in the dialog,
  20165. otherwise, the dialog is view only.  
  20166.  
  20167. Outputs
  20168. <return>
  20169.     Boolean showing whether the user hits the OK buttom. 
  20170. infoResult
  20171.     a structure containing the result of the destination link dialog. 
  20172.  
  20173. Exceptions Signalled
  20174. None.
  20175.  
  20176. Pre conditions
  20177. None.
  20178.  
  20179. Post conditions
  20180. None.
  20181.  
  20182. æKY ODLink::ShowSourceContent
  20183. Link::ShowSourceContent
  20184. Link->ShowSourceContent
  20185. æT Class Method
  20186. æD void ShowSourceContent();
  20187.  
  20188. æC Protection
  20189.     Public.  
  20190.  
  20191. Override policy
  20192.     Derived class cannot override.
  20193.     Derived class cannot call base class behavior, during derived class behavior.
  20194.  
  20195. Basic operation
  20196. Causes the source part of the link to become active, makes the source
  20197. content visible, and displays the link border.  Throws an exception if
  20198. the source part of the link cannot be located, or if the link has been
  20199. broken at the source.
  20200.  
  20201. Inputs
  20202. None.
  20203.  
  20204. Outputs
  20205. None.
  20206.  
  20207. Exceptions Signalled
  20208. kODErrLinkBroken
  20209.     Cannot locate the source of the link.
  20210.  
  20211. Pre conditions
  20212. None.
  20213.  
  20214. Post conditions
  20215. None.
  20216.  
  20217. æKY ODLink::Unlock
  20218. Link::Unlock
  20219. Link->Unlock
  20220. æT Class Method
  20221. æD void Unlock(
  20222. ODLinkKey key);
  20223.  
  20224. æC Protection
  20225.     Public.  Parts must call this method when done accessing or modifying the
  20226. content of a link.
  20227.  
  20228. Override policy
  20229.     Derived class cannot override.
  20230.     Derived class cannot call base class behavior, during derived class behavior.
  20231.  
  20232. Basic operation
  20233. Relinquish a key returned by Lock(). Exclusive access to the link's
  20234. content by this thread is relinquished if this thread did not already
  20235. have exclusive access when the key was granted.
  20236.  
  20237. Inputs
  20238. key
  20239.     A valid key returned by Lock().
  20240.  
  20241. Outputs
  20242. None.
  20243.  
  20244. Exceptions Signalled
  20245. kODErrInvalidLinkKey
  20246.     The key argument is not valid.
  20247.  
  20248. Pre conditions
  20249. The key argument is a valid key returned by Lock().
  20250.  
  20251. Post conditions
  20252. The key is no longer valid.  Exclusive access to the link's content is
  20253. relinquished.
  20254.  
  20255. æKY ODLink::UnregisterDependent
  20256. Link::UnregisterDependent
  20257. Link->UnregisterDependent
  20258. æT Class Method
  20259. æD void UnregisterDependent(
  20260. ODPart* clientPart);
  20261.  
  20262. æC Protection
  20263.     Public.  The destination ODPart will call this.
  20264.  
  20265. Override policy
  20266.     Derived class cannot override.
  20267.     Derived class cannot call base class behavior, during derived class behavior.
  20268.  
  20269. Basic operation
  20270. Removes the previously registered ODPart reference from our internal
  20271. list.  Return without error if the part was not previously registered.
  20272.  
  20273. Inputs
  20274. clientPart
  20275.     A destination part that had previously registered itself as a 
  20276. dependent of the link.
  20277.  
  20278. Outputs
  20279. None
  20280.  
  20281. Exceptions Signalled
  20282. None
  20283.  
  20284.  
  20285. Pre conditions
  20286. clientPart should have previously registered with this link.
  20287.  
  20288. Post conditions
  20289. clientPart is not registered with this link.
  20290.  
  20291. æKY ODLink::UpdateLinkEdition
  20292. Link::UpdateLinkEdition
  20293. Link->UpdateLinkEdition
  20294. æT Class Method
  20295. æD void UpdateLinkEdition(
  20296. ODLinkKey key);
  20297.  
  20298. æC Protection
  20299.     Public.  Macintosh specific.  Should only be called by the ODLinkManager
  20300. object.
  20301.  
  20302. Override policy
  20303.     Derived class cannot override.
  20304.     Derived class cannot call base class behavior, during derived class behavior.
  20305.  
  20306. Basic operation
  20307. Export the link’s contents to destinations in other documents.  An
  20308. exception is thrown if the link does not maintain a cross-document
  20309. link or if the source is in another document.
  20310.  
  20311. Inputs
  20312. key
  20313.     A valid key returned by Lock().
  20314.  
  20315. Outputs
  20316. None.
  20317.  
  20318. Exceptions Signalled
  20319. kODErrInvalidLinkKey
  20320.  
  20321. Pre conditions
  20322. None.
  20323.  
  20324. Post conditions
  20325. None.
  20326.  
  20327. æKY ODLink::fLinkSource
  20328. Link::fLinkSource
  20329. æT Class Field
  20330. æD ODLinkSource*
  20331. æC Persistent form
  20332. OpenDoc:Property:LinkSource
  20333. kODPropLinkSource
  20334. A reference to the companion ODLinkSource object.
  20335.  
  20336. æKY ODLink::fPartList
  20337. Link::fPartList
  20338. æT Class Field
  20339. æD ODPartList*
  20340. æC Persistent form
  20341. None.
  20342.  
  20343. æKY ODLink::fSection
  20344. Link::fSection
  20345. æT Class Field
  20346. æD SectionHandle
  20347. æC Persistent form
  20348. OpenDoc:Property:LinkSection
  20349. kODPropLinkSection
  20350. The section record for an exported link.
  20351.  
  20352.  
  20353. æKY ODLinkIteratorHelp
  20354. ODLinkIterator
  20355. LinkIterator
  20356. æKL ODLinkIterator::First
  20357. ODLinkIterator::InitLinkIterator
  20358. ODLinkIterator::IsNotComplete
  20359. ODLinkIterator::Next
  20360. æC Basic Class Documentation
  20361. ODLinkIterator is an iterator for the class ODLink.  ODLinkIterator is
  20362. an abstract class with  derived from ODObject.  Container suites are
  20363. responsible for subclassing ODLinkIterator to provide the appropriate
  20364. behavior.  The factory method for ODLinkIterator is
  20365. ODDraft::CreateLinkIterator.  This class is not available to parts,
  20366. but can be used by container applications. 
  20367.  
  20368. Theory of Operation
  20369. This class is used to iterate over the link objects in a draft.
  20370. Iteration is forward only, and links are returned in no particular
  20371. order.  After getting the iterator from ODDraft::CreateLinkIterator(),
  20372. First() should be used to access the first link in the iteration;
  20373. thereafter, Next() can be called repeatedly to access the remaining
  20374. links.  First() and Next() will return kODNULL when all links have
  20375. been returned.  First() cannot be used to restart the iteration.
  20376.  
  20377. Invariants Maintained by Class
  20378.  
  20379. æKY ODLinkIterator::First
  20380. LinkIterator::First
  20381. LinkIterator->First
  20382. æT Class Method
  20383. æD ODLink First();
  20384.  
  20385. æC Protection
  20386.     Public.  
  20387.  
  20388. Override policy
  20389.     Derived class must override.
  20390.     Derived class cannot call base class behavior.
  20391.  
  20392. Basic operation
  20393. Returns an ODLink object in the draft.  The refcount of the object is
  20394. not incremented.  After creating an iterator using
  20395. ODDraft::CreateLinkIterator,  call this method once, then call Next
  20396. repeatedly to iterate through all links in the draft.
  20397.  
  20398. Inputs
  20399. None.
  20400.  
  20401. Outputs
  20402. kODErrIteratorOutOfSync
  20403.     The ODTypeList instance was changed during the iteration.
  20404.  
  20405. Exceptions Signalled
  20406. None.
  20407.  
  20408. Pre conditions
  20409. The iterator was created by ODDraft::CreateLinkIterator.
  20410.  
  20411. Post conditions
  20412. A link  object is returned, or kODNULL if none exist in the draft.
  20413.  
  20414. æKY ODLinkIterator::InitLinkIterator
  20415. LinkIterator::InitLinkIterator
  20416. LinkIterator->InitLinkIterator
  20417. æT Class Method
  20418. æD void InitLinkIterator();
  20419.  
  20420. æC Protection
  20421.     Private.  For use by factory methods only.
  20422.  
  20423. Override policy
  20424.     Derived class cannot override.
  20425.     Derived class cannot call base class behavior.
  20426.  
  20427. Basic operation
  20428. Initializes the iterator.
  20429.  
  20430. Inputs
  20431. None.
  20432.  
  20433. Outputs
  20434. None.
  20435.  
  20436. Exceptions Signalled
  20437. None.
  20438.  
  20439. Pre conditions
  20440. None.
  20441.  
  20442. Post conditions
  20443. First() may be called.
  20444.  
  20445. æKY ODLinkIterator::IsNotComplete
  20446. LinkIterator::IsNotComplete
  20447. LinkIterator->IsNotComplete
  20448. æT Class Method
  20449. æD ODBoolean IsNotComplete();
  20450.  
  20451. æC Protection
  20452.     Public.  
  20453.  
  20454. Override policy
  20455.     Derived class must override.
  20456.     Derived class cannot call base class behavior.
  20457.  
  20458. Basic operation
  20459. Test if iteration is complete.
  20460.  
  20461. Inputs
  20462. None.
  20463.  
  20464. Outputs
  20465. <return>
  20466.     Returns kODTrue if the last call to First or Next returned a valid
  20467. ODLink object, and kODFalse otherwise.
  20468.  
  20469. Exceptions Signalled
  20470. None.
  20471.  
  20472. Pre conditions
  20473. The list has been created and First() has been called to start the
  20474. iteration.
  20475.  
  20476. Post conditions
  20477. None.
  20478.  
  20479. æKY ODLinkIterator::Next
  20480. LinkIterator::Next
  20481. LinkIterator->Next
  20482. æT Class Method
  20483. æD ODLink Next();
  20484.  
  20485. æC Protection
  20486.     Public.  
  20487.  
  20488. Override policy
  20489.     Derived class must override.
  20490.     Derived class cannot call base class behavior.
  20491.  
  20492. Basic operation
  20493. Returns another link object in the draft.  Next can be called
  20494. repeatedly to iterate through the remaining link objects in the draft.
  20495. IsNotComplete returns kODFalse if the preceeding call to Next did not
  20496. return a link object.
  20497.  
  20498. Inputs
  20499. None.
  20500.  
  20501. Outputs
  20502. <return>
  20503.     An ODLink object from the draft.  If the iteration is complete kODNULL
  20504. is returned, although the client should test for completion by calling
  20505. IsNotComplete.
  20506.  
  20507. Exceptions Signalled
  20508. None.
  20509.  
  20510. Pre conditions
  20511. First has been called return a link source object in the draft.
  20512.  
  20513. Post conditions
  20514. None.
  20515.  
  20516.  
  20517. æKY ODLinkManagerHelp
  20518. ODLinkManager
  20519. LinkManager
  20520. æKL ODLinkManager::ODLinkManager
  20521. ODLinkManager::~ODLinkManager
  20522. ODLinkManager::AnyLinkImported
  20523. ODLinkManager::CreateLink
  20524. ODLinkManager::DeleteOnSave
  20525. ODLinkManager::DraftClosing
  20526. ODLinkManager::DraftOpened
  20527. ODLinkManager::DraftSaved
  20528. ODLinkManager::ExportOnSave
  20529. ODLinkManager::InitLinkManager
  20530. ODLinkManager::NewSectionID
  20531. ODLinkManager::ReserveSectionID
  20532. ODLinkManager::UnsavedExportedLinks
  20533. ODLinkManager::fDraftInfos
  20534. ODLinkManager::fHeap
  20535. æC Basic Class Documentation
  20536. The Link Manager coordinates the creation and maintanence of
  20537. cross-document links.  There is one Link Manager object per session. 
  20538. The Link Manager is a non-persistent object instantiated by the
  20539. session, which provides access to it.  The Link Manager is called by
  20540. link objects, draft objects, and by document shells.  It is not
  20541. visible to parts.  Because the implementation of cross-document links
  20542. is platform-dependent, the Link Manager is a platform-specific class.
  20543.  
  20544. Document shell developers should understand the following Link Manager
  20545. methods: AnyLinkImported(), NewSectionID(), ReserveSectionID(), and
  20546. UnsavedExportedLinks().  In addition, the Link Manager depends on the
  20547. document shell to call DraftOpened(), DraftSaved(), and DraftClosing()
  20548. at the proper times.
  20549.  
  20550. Theory of Operation
  20551. The Link Manager provides (1) the establishment of cross-document
  20552. links, (2) the updating of cross-document links in accordance with the
  20553. user interface guidelines, and (3), on the Macintosh, coordination of
  20554. use of the Edition Manager with the document shell.  It is dependent
  20555. on the document shell to provide proper updating of cross-document
  20556. links.
  20557.  
  20558. When a cross-document link is established, the Link Manager of the
  20559. destination draft communicates with the Link Manager of the source
  20560. draft to get the link created.  Neither the source nor destination
  20561. parts are aware that the link is cross-document; this fact is a secret
  20562. shared by the LinkManager and the Link and LinkSource objects in both
  20563. drafts.
  20564.  
  20565. When a draft is opened, the Link Manager ensures that destinations of
  20566. links from other documents have the opportunity to update to the
  20567. latest content.  It also maintains a list of cross-document link
  20568. sources that should be updated when the draft is saved.
  20569.  
  20570. The Link Manager provides coordination of Edition Manager section ids
  20571. with Macintosh document shells that support Publish and Subscribe. 
  20572. The shell can reserve section ids already in use by calling
  20573. ReserveSectionID().  The shell can get a new section ID unique for the
  20574. life of the document by calling NewSectionID().
  20575.  
  20576. The Link Manager also provides important information to the document
  20577. shell.  The shell should call AnyLinkImported() when it would
  20578. otherwise close the document without saving; a return value of kODTrue
  20579. indicates that links were updated and that the document should be
  20580. saved without user interaction.  When the user closes or reverts a
  20581. draft without saving, the shell should call UnsavedExportedLinks(); a
  20582. return value of kODTrue indicates that new cross-document links would
  20583. be abandoned if the draft isn't saved.
  20584.  
  20585. Invariants Maintained by Class
  20586.  
  20587.  
  20588. Other Persistent Properties
  20589. kODPropReservedSectionIDs -- the list of reserved section identifiers,
  20590. present in the document properties storage unit.
  20591.  
  20592. kODPropLastSectionID -- the section identifier last returned by
  20593. NewSectionID(), present in the document properties storage unit.
  20594. æKY ODLinkManager::ODLinkManager
  20595. LinkManager::ODLinkManager
  20596. LinkManager->ODLinkManager
  20597. æT Class Method
  20598. æD ODLinkManager();
  20599.  
  20600. æC Protection
  20601.     Public.  For use by session objects only.
  20602.  
  20603. Override policy
  20604.     Derived class cannot override.
  20605.     Derived class cannot call base class behavior, during derived class behavior.
  20606.  
  20607. Basic operation
  20608. Constructor for the link manager object.
  20609.  
  20610. Inputs
  20611. None.
  20612.  
  20613. Outputs
  20614. None.
  20615.  
  20616. Exceptions Signalled
  20617. None.
  20618.  
  20619. Pre conditions
  20620. None.
  20621.  
  20622. Post conditions
  20623. None.
  20624.  
  20625. æKY ODLinkManager::~ODLinkManager
  20626. LinkManager::~ODLinkManager
  20627. LinkManager->~ODLinkManager
  20628. æT Class Method
  20629. æD ~ODLinkManager();
  20630.  
  20631. æC Protection
  20632.     Public.  For use by session objects only.
  20633.  
  20634. Override policy
  20635.     Derived class cannot override.
  20636.     Derived class cannot call base class behavior, during derived class behavior.
  20637.  
  20638. Basic operation
  20639. Destructor.
  20640.  
  20641. Inputs
  20642. None.
  20643.  
  20644. Outputs
  20645. None.
  20646.  
  20647. Exceptions Signalled
  20648. None.
  20649.  
  20650. Pre conditions
  20651. None.
  20652.  
  20653. Post conditions
  20654. None.
  20655.  
  20656. æKY ODLinkManager::AnyLinkImported
  20657. LinkManager::AnyLinkImported
  20658. LinkManager->AnyLinkImported
  20659. æT Class Method
  20660. æD ODBoolean AnyLinkImported(
  20661. ODDraft* draft);
  20662.  
  20663. æC Protection
  20664.     Public.  For use by container apps only.  Parts do not call.
  20665.  
  20666. Override policy
  20667.     Derived class cannot override.
  20668.     Derived class cannot call base class behavior, during derived class behavior.
  20669.  
  20670. Basic operation
  20671. Returns kODTrue if one or more links to source in other documents have
  20672. automatically updated since the draft was last saved.  The shell
  20673. should silently save the imported content if no other changes to the
  20674. draft were made by the user.
  20675.  
  20676. Inputs
  20677. draft
  20678.     The draft of interest.
  20679.  
  20680. Outputs
  20681. <result>
  20682.     kODTrue if one or more links have automatically updated, and kODFalse
  20683. otherwise.
  20684.  
  20685. Exceptions Signalled
  20686. None.
  20687.  
  20688. Pre conditions
  20689. None.
  20690.  
  20691. Post conditions
  20692. None.
  20693.  
  20694. æKY ODLinkManager::CreateLink
  20695. LinkManager::CreateLink
  20696. LinkManager->CreateLink
  20697. æT Class Method
  20698. æD ODLinkSource* CreateLink(
  20699. ODDraft* draft,
  20700. ODLinkSpec* linkSpec);
  20701.  
  20702. æC Protection
  20703.     Public.  For use by draft objects only.  Parts do not call.
  20704.  
  20705. Override policy
  20706.     Derived class can override.
  20707.     Derived class can call base class behavior, during derived class behavior.
  20708.  
  20709. Basic operation
  20710. Return a link source object in the argument draft to the source part
  20711. in another document specified by the link specification argument.   
  20712. The caller must decrement the reference count of the returned link
  20713. source object  when finished with the object.
  20714.  
  20715. Inputs
  20716. draft
  20717.     The draft in which the returned link source object should reside.
  20718. linkSpec
  20719.     The specification for a link whose source part resides in another
  20720. document.
  20721.  
  20722. Outputs
  20723. <result>
  20724.     The link source object created.
  20725.  
  20726. Exceptions Signalled
  20727. kODErrDraftNotSaved
  20728.     A link could not be created because the source document has never been
  20729. saved.
  20730.  
  20731. Pre conditions
  20732. None.
  20733.  
  20734. Post conditions
  20735. None.
  20736.  
  20737. æKY ODLinkManager::DeleteOnSave
  20738. LinkManager::DeleteOnSave
  20739. LinkManager->DeleteOnSave
  20740. æT Class Method
  20741. æD void DeleteOnSave(
  20742. ODLink* link,
  20743. ODBoolean doDelete);
  20744.  
  20745. æC Protection
  20746.     Public.  For use by link source objects only.  Parts do not call.
  20747.  
  20748. Override policy
  20749.     Derived class can override.
  20750.     Derived class can call base class behavior, during derived class behavior.
  20751.  
  20752. Basic operation
  20753. If doDelete is kODTrue, call the DeleteLinkEdition method of the
  20754. argument link object the next time the draft is saved.  If doDelete is
  20755. kODFalse, do not call DeleteLinkEdition on save.  This method should
  20756. be called by link source objects when the the link is broken.  If the
  20757. draft is closed without saving, or is reverted, the DeleteLinkEdition
  20758. method will not be called.
  20759.  
  20760. Inputs
  20761. link
  20762.     The link object who's DeleteLinkEdition() method should be called when
  20763. the draft is saved.
  20764. doDelete
  20765.     If kODTrue, call DeleteLinkEdition the link when the draft is saved;
  20766. otherwise, do not call on save.
  20767.  
  20768. Outputs
  20769. None.
  20770.  
  20771. Exceptions Signalled
  20772. None.
  20773.  
  20774. Pre conditions
  20775. None.
  20776.  
  20777. Post conditions
  20778. None.
  20779.  
  20780. æKY ODLinkManager::DraftClosing
  20781. LinkManager::DraftClosing
  20782. LinkManager->DraftClosing
  20783. æT Class Method
  20784. æD void DraftClosing(
  20785. ODDraft* draft);
  20786.  
  20787. æC Protection
  20788.     Public.  For use by container apps only.  Parts do not call.
  20789.  
  20790. Override policy
  20791.     Derived class cannot override.
  20792.     Derived class cannot call base class behavior, during derived class behavior.
  20793.  
  20794. Basic operation
  20795. Must be called PRIOR to reverting or closing a draft.  The link
  20796. manager will delete any edition files created after the last save,
  20797. breaking cross-document links at the source.  The shell can call
  20798. UnsavedExportedLinks() to determine if closing the document would
  20799. delete edition files. 
  20800.  
  20801. Inputs
  20802. draft
  20803.     The draft about to be closed.
  20804.  
  20805. Outputs
  20806. None.
  20807.  
  20808. Exceptions Signalled
  20809. None.
  20810.  
  20811. Pre conditions
  20812. None.
  20813.  
  20814. Post conditions
  20815. None.
  20816.  
  20817. æKY ODLinkManager::DraftOpened
  20818. LinkManager::DraftOpened
  20819. LinkManager->DraftOpened
  20820. æT Class Method
  20821. æD void DraftOpened(
  20822. ODDraft* draft);
  20823.  
  20824. æC Protection
  20825.     Public.  For use by container apps only.  Parts do not call.
  20826.  
  20827. Override policy
  20828.     Derived class cannot override.
  20829.     Derived class cannot call base class behavior, during derived class behavior.
  20830.  
  20831. Basic operation
  20832. Must be called after the argument draft is opened.  The link manager
  20833. will internalize each link object in the draft, allowing those
  20834. subscribing to or publishing edition files to register with the
  20835. Edition manager.
  20836.  
  20837. Inputs
  20838. draft
  20839.     The draft opened.
  20840.  
  20841. Outputs
  20842. None.
  20843.  
  20844. Exceptions Signalled
  20845. None.
  20846.  
  20847. Pre conditions
  20848. None.
  20849.  
  20850. Post conditions
  20851. None.
  20852.  
  20853. æKY ODLinkManager::DraftSaved
  20854. LinkManager::DraftSaved
  20855. LinkManager->DraftSaved
  20856. æT Class Method
  20857. æD void DraftSaved(
  20858. ODDraft* draft);
  20859.  
  20860. æC Protection
  20861.     Public.  For use by container apps only.  Parts do not call.
  20862.  
  20863. Override policy
  20864.     Derived class cannot override.
  20865.     Derived class cannot call base class behavior, during derived class behavior.
  20866.  
  20867. Basic operation
  20868. Must be called after every save.  Following each save, links that
  20869. publish a cross-document link will update their edition file.  This
  20870. method will throw an exception if the edition files cannot be updated;
  20871. the shell should report this error to the user.  The draft should be
  20872. considered unsaved.
  20873.  
  20874. The link manager will prohibit this document from publishing a link to
  20875. another document before the first call to this routine for any draft
  20876. in the document.   A document must be in a permanent location (not a
  20877. temporary one) in order to reliably track Edition files on the
  20878. Macintosh.
  20879.  
  20880. Inputs
  20881. draft
  20882.     The draft saved.
  20883.  
  20884. Outputs
  20885. None.
  20886.  
  20887. Exceptions Signalled
  20888. <platform errors>
  20889.     An edition file could not be sucessfully written.
  20890.  
  20891. Pre conditions
  20892. None.
  20893.  
  20894. Post conditions
  20895. None.
  20896.  
  20897. æKY ODLinkManager::ExportOnSave
  20898. LinkManager::ExportOnSave
  20899. LinkManager->ExportOnSave
  20900. æT Class Method
  20901. æD void ExportOnSave(
  20902. ODLink* link,
  20903. ODBoolean doExport);
  20904.  
  20905. æC Protection
  20906.     Public.  For use by link objects only.  Parts do not call.
  20907.  
  20908. Override policy
  20909.     Derived class cannot override.
  20910.     Derived class cannot call base class behavior, during derived class behavior.
  20911.  
  20912. Basic operation
  20913. If doExport is kODTrue, call the UpdateLinkEdition method of the
  20914. argument link object the next time the draft is saved.  If doExport is
  20915. kODFalse, do not call UpdateLinkEdition on save.  This method should
  20916. be called by publishing link objects that export linked data
  20917. automatically when the draft is saved.  If the draft is closed without
  20918. saving, or is reverted, the Export method will not be called. Once the
  20919. draft has been saved, the link needs to call this method again when
  20920. the link is updated.
  20921.  
  20922. Inputs
  20923. link
  20924.     The link object who's UpdateLinkEdition() method should be called when
  20925. the draft is saved.
  20926. doExport
  20927.     If kODTrue, export the link when the draft is saved; otherwise, do not
  20928. export on save.
  20929.  
  20930. Outputs
  20931. None.
  20932.  
  20933. Exceptions Signalled
  20934. None.
  20935.  
  20936. Pre conditions
  20937. None.
  20938.  
  20939. Post conditions
  20940. None.
  20941.  
  20942. æKY ODLinkManager::InitLinkManager
  20943. LinkManager::InitLinkManager
  20944. LinkManager->InitLinkManager
  20945. æT Class Method
  20946. æD void InitLinkManager(
  20947. ODSession* session,
  20948. ODHeap heap);
  20949.  
  20950. æC Protection
  20951.     Public.  For use by session objects only.
  20952.  
  20953. Override policy
  20954.     Derived class cannot override.
  20955.     Derived class must call base class behavior, during derived class behavior.
  20956.  
  20957. Basic operation
  20958. Initializes the link manager.  The link manager object should be
  20959. created and initialized by the session.
  20960.  
  20961. Inputs
  20962. session
  20963.     The session context of the link manager.
  20964. heap
  20965.     The heap for memory  allocation.
  20966.  
  20967. Outputs
  20968. None.
  20969.  
  20970. Exceptions Signalled
  20971. None.
  20972.  
  20973. Pre conditions
  20974. None.
  20975.  
  20976. Post conditions
  20977. None.
  20978.  
  20979. æKY ODLinkManager::NewSectionID
  20980. LinkManager::NewSectionID
  20981. LinkManager->NewSectionID
  20982. æT Class Method
  20983. æD ODULong NewSectionID(
  20984. ODDocument* document);
  20985.  
  20986. æC Protection
  20987.     Public.  For use by container apps only.  Parts do not call.
  20988.  
  20989. Override policy
  20990.     Derived class cannot override.
  20991.     Derived class cannot call base class behavior, during derived class behavior.
  20992.  
  20993. Basic operation
  20994. Return a new ID guaranteed to be unique for the lifetime of the
  20995. argument document.
  20996.  
  20997. Inputs
  20998. document
  20999.     The document in which to reserve an ID.
  21000.  
  21001. Outputs
  21002. <result>
  21003.     A unique ID.
  21004.  
  21005. Exceptions Signalled
  21006. None.
  21007.  
  21008. Pre conditions
  21009. None.
  21010.  
  21011. Post conditions
  21012. None.
  21013.  
  21014. æKY ODLinkManager::ReserveSectionID
  21015. LinkManager::ReserveSectionID
  21016. LinkManager->ReserveSectionID
  21017. æT Class Method
  21018. æD ODBoolean ReserveSectionID(
  21019. ODULong sectionID,
  21020. ODDocument* document);
  21021.  
  21022. æC Protection
  21023.     Public.  For use by container apps only.  Parts do not call.
  21024.  
  21025. Override policy
  21026.     Derived class cannot override.
  21027.     Derived class cannot call base class behavior, during derived class behavior.
  21028.  
  21029. Basic operation
  21030. Guarantees the argument section ID will not be issued by
  21031. NewSectionID() for the lifetime of the document. ReserveSectionID
  21032. returns kODTrue if the argument sectionID is not already reserved and
  21033. kODFalse otherwise.  If kODFalse is returned, the caller should
  21034. request a different ID or call NewSectionID().
  21035.  
  21036. Inputs
  21037. sectionID
  21038.     The ID to be reserved.
  21039. document
  21040.     The document in which sectionID is reserved.
  21041.  
  21042. Outputs
  21043. <result>
  21044.     kODTrue if the argument sectionID is not in use and not already
  21045. reserved, and kODFalse otherwise.
  21046.  
  21047. Exceptions Signalled
  21048. None.
  21049.  
  21050. Pre conditions
  21051. None.
  21052.  
  21053. Post conditions
  21054. None.
  21055.  
  21056. æKY ODLinkManager::UnsavedExportedLinks
  21057. LinkManager::UnsavedExportedLinks
  21058. LinkManager->UnsavedExportedLinks
  21059. æT Class Method
  21060. æD ODBoolean UnsavedExportedLinks(
  21061. ODDraft* draft);
  21062.  
  21063. æC Protection
  21064.     Public.  For use by container apps only.  Parts do not call.
  21065.  
  21066. Override policy
  21067.     Derived class cannot override.
  21068.     Derived class cannot call base class behavior, during derived class behavior.
  21069.  
  21070. Basic operation
  21071. Returns kODTrue if cross-document links have been established since
  21072. the draft was last saved.  Should be called by the document shell
  21073. prior to reverting or closing the document.  If reverting or closing
  21074. the document would cause newly created cross-document links to be
  21075. abandoned, the document shell should alert the user before proceeding
  21076. with the operation. 
  21077.  
  21078. Inputs
  21079. draft
  21080.     The draft of interest.
  21081.  
  21082. Outputs
  21083. <result>
  21084.     kODTrue if cross-document links have been established and kODFalse
  21085. otherwise.
  21086.  
  21087. Exceptions Signalled
  21088. None.
  21089.  
  21090. Pre conditions
  21091. None.
  21092.  
  21093. Post conditions
  21094. None.
  21095.  
  21096. æKY ODLinkManager::fDraftInfos
  21097. LinkManager::fDraftInfos
  21098. æT Class Field
  21099. æD OrderedCollection*
  21100. æC 
  21101. æKY ODLinkManager::fHeap
  21102. LinkManager::fHeap
  21103. æT Class Field
  21104. æD ODHeap
  21105. æC 
  21106.  
  21107. æKY ODLinkSourceHelp
  21108. ODLinkSource
  21109. LinkSource
  21110. æKL ODLinkSource::ODLinkSource
  21111. ODLinkSource::~ODLinkSource
  21112. ODLinkSource::Clear
  21113. ODLinkSource::CloneTo
  21114. ODLinkSource::ContentUpdated
  21115. ODLinkSource::Externalize
  21116. ODLinkSource::GetContentStorageUnit
  21117. ODLinkSource::GetLink
  21118. ODLinkSource::GetUpdateID
  21119. ODLinkSource::InitLinkSource
  21120. ODLinkSource::InitLinkSourceFromStorage
  21121. ODLinkSource::IsAutoUpdate
  21122. ODLinkSource::Lock
  21123. ODLinkSource::Purge
  21124. ODLinkSource::ReadLinkEdition
  21125. ODLinkSource::ReleaseAll
  21126. ODLinkSource::SetAutoUpdate
  21127. ODLinkSource::SetLink
  21128. ODLinkSource::SetSourcePart
  21129. ODLinkSource::ShowLinkSourceInfo
  21130. ODLinkSource::ShowSourceContent
  21131. ODLinkSource::Unlock
  21132. ODLinkSource::UseLinkEdition
  21133. ODLinkSource::fAutoExport
  21134. ODLinkSource::fChangeID
  21135. ODLinkSource::fContentSU
  21136. ODLinkSource::fLink
  21137. ODLinkSource::fSection
  21138. ODLinkSource::fSourcePart
  21139. æC Basic Class Documentation
  21140. This class represents the source of an OpenDoc link. These will be
  21141. created and maintained by ODDrafts whenever the user creates a dynamic
  21142. link between parts. The platform vendor will implement this class.
  21143. This class is not to be subclassed by the developer. ODLinkSource is a
  21144. subclass of ODPersistentObject.
  21145.  
  21146. For further information on the implementation of OpenDoc links, part
  21147. developers are referred to the documentation for the companion class
  21148. ODLink, and the class ODLinkSpec.  Specific methods of class ODPart
  21149. and ODFrame are also relevant to a complete understanding of linking.
  21150.  
  21151. Document shell developers and platform vendors are referred to the
  21152. documentation on the ODLinkManager.
  21153.  
  21154. Theory of Operation
  21155. A link is a first class, persistent, one-way conduit for data from one
  21156. part, the source part, to another part, the destination part (which
  21157. may be the same part). When source part data is being cut or dragged,
  21158. the source part should write out a link specification (see the
  21159. ODLinkSpec class) in addition to the content that it writes. The link
  21160. specification is a signal that a link can be made to the source part. 
  21161. The destination part determines the value types available for linking
  21162. by examining the value types present in the content property.
  21163.  
  21164. When a link is requested by the destination part, the following events
  21165. occur:
  21166.  
  21167. The destination part asks its draft for an ODLink object via the
  21168. ODDraft::GetLink method. If the source part is in the same document as
  21169. the destination part, the draft calls the source part's
  21170. ODPart::CreateLink method. If the source part is in a different
  21171. document, the draft calls the link manager's ODLinkManager::CreateLink
  21172. method to get a cross-document link. Ultimately, the ODDraft::GetLink
  21173. method returns an ODLink object to the destination part.
  21174.  
  21175. The source part, whether in the same draft or in a different draft, is
  21176. asked to create an ODLink object via the ODPart::CreateLink function.
  21177. The part may refuse this request in which case the link cannot be
  21178. created; normally the source part would refuse only in the event of an
  21179. error.
  21180.  
  21181. If the source part has not already created a link to the content
  21182. described by the link specification, the source part calls its draft's
  21183. CreateLinkSource method to create an ODLinkSource and ODLink object
  21184. pair.  The draft object associated with the source part is responsible
  21185. for the ephemeral and persistent storage of both link objects.  The
  21186. source part keeps a reference to the ODLinkSource object, and returns
  21187. a reference to the ODLink object.  Source parts reference only
  21188. ODLinkSource objects, and destination parts reference only ODLink
  21189. objects.  These reference restrictions are important in assuring the
  21190. proper behavior when linked content is copied or moved.
  21191.  
  21192. If the source part is in a different draft, the source part returns
  21193. the ODLink object to the Link Manager.  The source draft Link Manager
  21194. creates a platform-dependent cross-document link, and returns the
  21195. identity of the link to the destination draft Link Manager.  The
  21196. destination draft Link Manager calls the destination draft's
  21197. CreateLinkSource method to create an ODLinkSource and ODLink object
  21198. pair in the destination draft, and returns the ODLink object to the
  21199. destination draft's GetLink method.  The destination draft returns the
  21200. ODLink object to the destination part. 
  21201.  
  21202. If the destination part wishes to be notified of changes to the link's
  21203. content, it registers itself with the link object by calling
  21204. ODLink::RegisterDependent. The link object will immediately call
  21205. ODPart::LinkUpdated to force the part to read the link data. The part
  21206. will call ODLink::GetContentStorageUnit to access the data.
  21207.  
  21208. Whenever the source part wishes to inform the destination part of a
  21209. change to a link's contents, it updates the storage unit associated
  21210. with the link object and calls ODLink::ContentChanged. The link will
  21211. call ODPart::LinkUpdated for all its dependent parts. Each dependent
  21212. part will read the new data from the link's storage unit.
  21213.  
  21214. A destination part's registration with a link is not permanent.  Each
  21215. time a part containing a link destination is initialized, it should
  21216. re-register with the link object.  A destination part may explicitly
  21217. unregister itself with a link by calling ODLink::UnregisterDependent. 
  21218. This should be performed when the user breaks the link at the
  21219. destination, for example, or if the linked content is deleted.
  21220.  
  21221. A part writes content to and reads content from a link in exactly the
  21222. same manner it uses to write and read the clipboard, except that a
  21223. part should not write a link specification to the link.
  21224.  
  21225. Invariants Maintained by Class
  21226. The link always owns a valid storage unit.
  21227. æKY ODLinkSource::ODLinkSource
  21228. LinkSource::ODLinkSource
  21229. LinkSource->ODLinkSource
  21230. æT Class Method
  21231. æD ODLinkSource();
  21232.  
  21233. æC Protection
  21234.     Public.  Should only be called by ODDraft.
  21235.  
  21236. Override policy
  21237.     Derived class cannot override.
  21238.     Derived class cannot call base class behavior, during derived class behavior.
  21239.  
  21240. Basic operation
  21241. Initializes the ODLink object.
  21242.  
  21243. Inputs
  21244. None.
  21245.  
  21246. Outputs
  21247. None.
  21248.  
  21249. Exceptions Signalled
  21250. None.
  21251.  
  21252. Pre conditions
  21253. None.
  21254.  
  21255. Post conditions
  21256. The object is initialized to a known state.
  21257.  
  21258. æKY ODLinkSource::~ODLinkSource
  21259. LinkSource::~ODLinkSource
  21260. LinkSource->~ODLinkSource
  21261. æT Class Method
  21262. æD ~ODLinkSource();
  21263.  
  21264. æC Protection
  21265.     Public.  Should only be called by ODDraft.
  21266.  
  21267. Override policy
  21268.     Derived class cannot override.
  21269.     Derived class cannot call base class behavior, during derived class behavior.
  21270.  
  21271. Basic operation
  21272. Destroys the ODLink object.
  21273.  
  21274. Inputs
  21275. None
  21276.  
  21277. Outputs
  21278. None.
  21279.  
  21280. Exceptions Signalled
  21281. None.
  21282.  
  21283. Pre conditions
  21284. None.
  21285.  
  21286. Post conditions
  21287. None.
  21288.  
  21289. æKY ODLinkSource::Clear
  21290. LinkSource::Clear
  21291. LinkSource->Clear
  21292. æT Class Method
  21293. æD void Clear(
  21294. ODUpdateID id,
  21295. ODLinkKey key);
  21296.  
  21297. æC Protection
  21298.     Public.  Parts call to prepare a link for rewriting its content.
  21299.  
  21300. Override policy
  21301.     Derived class can override.
  21302.     Derived class can call base class behavior, during derived class behavior.
  21303.  
  21304. Basic operation
  21305. Prepares a link for updating its content by removing the
  21306. kODPropContents property.  To notify destinations of the change, the
  21307. ContentUpdated() method of this object must be called before calling
  21308. Unlock().  The same update ID should be specified in both calls.
  21309.  
  21310. The key parameter must be obtained by acquiring the lock via the Lock
  21311. method of this object.
  21312.  
  21313. The update identification argument should be the id causing this link
  21314. to update, or, if the caller originated the update, obtained by
  21315. calling the ODSession::UniqueUpdateID method.
  21316.  
  21317. The Clear method may also be used in special circumstances to replace
  21318. promised data when a new destination is created to an existing source.
  21319. In this case, the caller must specify the existing update id as the
  21320. parameter, and after writing promises in the contents property, unlock
  21321. this object without calling ContentUpdated.  Existing destinations
  21322. will not be notified.
  21323.  
  21324. Inputs
  21325. id
  21326.     The update identification associated with the new empty content, or,
  21327. to replace missing promised values, the existing update id.
  21328. key
  21329.     A valid key returned by Lock().
  21330.  
  21331. Outputs
  21332. None.
  21333.  
  21334. Exceptions Signalled
  21335. kODErrInvalidLinkKey
  21336.     The key argument is not valid.
  21337. kODErrUnknownUpdateID
  21338.     The constant kODUnknownUpdate was supplied as the id argument.
  21339.  
  21340. Pre conditions
  21341. None.
  21342.  
  21343. Post conditions
  21344. The next call to GetContentStorageUnit returns a storage unit with no
  21345. properties.
  21346.  
  21347. æKY ODLinkSource::CloneTo
  21348. LinkSource::CloneTo
  21349. LinkSource->CloneTo
  21350. æT Class Method
  21351. æD ODStorageUnit* CloneTo(
  21352. ODDraftKey draftKey,
  21353. ODDraft* destDraft,
  21354. ODStorageUnit* newSourcePartSU);
  21355.  
  21356. æC Protection
  21357.     Public.  
  21358.  
  21359. Override policy
  21360.     Derived class can override.
  21361.     Derived class can call base class behavior, during derived class behavior.
  21362.  
  21363. Basic operation
  21364. Clone this object into the destination draft.  If 'newSourcePartSU' is
  21365. non-nil, it must reference a storage unit in the destination draft;
  21366. the source part property of the cloned object is set to reference this
  21367. su.
  21368.  
  21369. Inputs
  21370. draftKey
  21371.     ODDraftKey identifying the Clone transaction. 
  21372. destDraft
  21373.     The draft to clone this object into.
  21374. newSourcePartSU
  21375.     A storage unit pointer to a part in 'destDraft', or kODNULL . 
  21376.  
  21377. Outputs
  21378. <return>
  21379.     The storage unit containing the persistent representation of this
  21380. object in the destination draft. 
  21381.  
  21382. Exceptions Signalled
  21383. kODErrCloneNotStarted
  21384.     A Clone was started unsuccessfully.
  21385. kODErrInvalidDraftKey
  21386.     Invalid Clone.
  21387.  
  21388. Pre conditions
  21389. None.
  21390.  
  21391. Post conditions
  21392. None.
  21393.  
  21394. æKY ODLinkSource::ContentUpdated
  21395. LinkSource::ContentUpdated
  21396. LinkSource->ContentUpdated
  21397. æT Class Method
  21398. æD void ContentUpdated(
  21399. ODUpdateID id,
  21400. ODLinkKey key);
  21401.  
  21402. æC Protection
  21403.     Public.  Called by parts after modifying the link's content.
  21404.  
  21405. Override policy
  21406.     Derived class cannot override.
  21407.     Derived class cannot call base class behavior, during derived class behavior.
  21408.  
  21409. Basic operation
  21410. Called by the source part after modifying the link's content to
  21411. associate an update identification with the content. This method must
  21412. be called before unlocking the link.  All registered destinations are
  21413. notified  of the updated link contents when the link is unlocked.  The
  21414. source part should call the ODSession::UniqueUpdateID method to get a
  21415. new update identification, unless the update resulted from an updated
  21416. destination link.  In that case, the source part should pass on the
  21417. update ID associated with the destination link.
  21418.  
  21419. Inputs
  21420. id
  21421.     The update identification associated with the new content.
  21422. key
  21423.     A valid key returned by Lock().
  21424.  
  21425. Outputs
  21426. None.
  21427.  
  21428. Exceptions Signalled
  21429. kODErrInvalidLinkKey
  21430.     The key argument is not valid.
  21431. kODErrUnknownUpdateID
  21432.     The constant kODUnknownUpdate was supplied as the id argument.
  21433.  
  21434. Pre conditions
  21435. ContentChanged should be called before Unlock to notify destinations
  21436. of the update.
  21437.  
  21438. Post conditions
  21439. None.
  21440.  
  21441. æKY ODLinkSource::Externalize
  21442. LinkSource::Externalize
  21443. LinkSource->Externalize
  21444. æT Class Method
  21445. æD void Externalize();
  21446.  
  21447. æC Protection
  21448.     Public.  
  21449.  
  21450. Override policy
  21451.     Derived class cannot override.
  21452.     Derived class cannot call base class behavior, during derived class behavior.
  21453.  
  21454. Basic operation
  21455. Externalizes persistent data
  21456.  
  21457. Inputs
  21458. None.
  21459.  
  21460. Outputs
  21461. None.
  21462.  
  21463. Exceptions Signalled
  21464. <Storage exceptions>
  21465.     Storage exceptions may be signalled. 
  21466.  
  21467. Pre conditions
  21468. None.
  21469.  
  21470. Post conditions
  21471. The link's persistent storage unit is consistent with the link.
  21472.  
  21473. æKY ODLinkSource::GetContentStorageUnit
  21474. LinkSource::GetContentStorageUnit
  21475. LinkSource->GetContentStorageUnit
  21476. æT Class Method
  21477. æD ODStorageUnit* GetContentStorageUnit(
  21478. ODLinkKey key);
  21479.  
  21480. æC Protection
  21481.     Public.  
  21482.  
  21483. Override policy
  21484.     Derived class cannot override.
  21485.     Derived class cannot call base class behavior, during derived class behavior.
  21486.  
  21487. Basic operation
  21488. Returns a reference to the ODStorageUnit containing the content of the
  21489. link.
  21490.  
  21491. Inputs
  21492. key
  21493.     A valid key returned by Lock().
  21494.  
  21495. Outputs
  21496. <result>
  21497.     A reference to the content storage unit.
  21498.  
  21499. Exceptions Signalled
  21500. kODErrInvalidLinkKey
  21501.     The key argument is not valid.
  21502.  
  21503. Pre conditions
  21504. The key argument is a valid key returned by Lock().
  21505.  
  21506. Post conditions
  21507. The returned storage unit is guaranteed to be valid until the key is
  21508. relinquished by Unlock().
  21509.  
  21510. æKY ODLinkSource::GetLink
  21511. LinkSource::GetLink
  21512. LinkSource->GetLink
  21513. æT Class Method
  21514. æD ODLink* GetLink();
  21515.  
  21516. æC Protection
  21517.     Public.  For use by drafts only.  Parts should not call.
  21518.  
  21519. Override policy
  21520.     Derived class cannot override.
  21521.     Derived class cannot call base class behavior, during derived class behavior.
  21522.  
  21523. Basic operation
  21524. Return the link object associated with this link source.  Drafts call
  21525. this method to obtain a result to return from its GetLink method.
  21526.  
  21527. Inputs
  21528. None.
  21529.  
  21530. Outputs
  21531. <return>
  21532.     The ODLink object associated with this object. 
  21533.  
  21534. Exceptions Signalled
  21535. None.
  21536.  
  21537. Pre conditions
  21538. None.
  21539.  
  21540. Post conditions
  21541. None.
  21542.  
  21543. æKY ODLinkSource::GetUpdateID
  21544. LinkSource::GetUpdateID
  21545. LinkSource->GetUpdateID
  21546. æT Class Method
  21547. æD ODUpdateID GetUpdateID();
  21548.  
  21549. æC Protection
  21550.     Public.  Can be used by  the Part maintaining this link source to determine if
  21551. the link source should be updated.
  21552.  
  21553. Override policy
  21554.     Derived class cannot override.
  21555.     Derived class cannot call base class behavior, during derived class behavior.
  21556.  
  21557. Basic operation
  21558. Returns the current update identification of the link content.  The
  21559. returned value should be tested for equality only, as there is no
  21560. implicit ordering of update ids.
  21561.  
  21562. Inputs
  21563. None.
  21564.  
  21565. Outputs
  21566. None.
  21567.  
  21568. Exceptions Signalled
  21569. None.
  21570.  
  21571. Pre conditions
  21572. None.
  21573.  
  21574. Post conditions
  21575. None.
  21576.  
  21577. æKY ODLinkSource::InitLinkSource
  21578. LinkSource::InitLinkSource
  21579. LinkSource->InitLinkSource
  21580. æT Class Method
  21581. æD void InitLinkSource(
  21582. ODStorageUnit* storageUnit,
  21583. ODPart* sourcePart);
  21584.  
  21585. æC Protection
  21586.     Private.  Only called by ODDraft; parts must not call.
  21587.  
  21588. Override policy
  21589.     Derived class cannot override.
  21590.     Derived class cannot call base class behavior, during derived class behavior.
  21591.  
  21592. Basic operation
  21593. Initializes a new link source object.  Must be followed by a call to
  21594. this object's SetLink method after the associated link object has been
  21595. initialized.
  21596.  
  21597. Inputs
  21598. storageUnit
  21599.     The persistent storage unit for the link.
  21600. sourcePart
  21601.     The part containing the source of the link, or kODNULL if the source
  21602. is in another document.
  21603.  
  21604. Outputs
  21605. None.
  21606.  
  21607. Exceptions Signalled
  21608. kODErrOutOfMemory
  21609.     Out of memory.
  21610.  
  21611. Pre conditions
  21612. None.
  21613.  
  21614. Post conditions
  21615. The link object is partially initialized.
  21616.  
  21617. æKY ODLinkSource::InitLinkSourceFromStorage
  21618. LinkSource::InitLinkSourceFromStorage
  21619. LinkSource->InitLinkSourceFromStorage
  21620. æT Class Method
  21621. æD void InitLinkSourceFromStorage(
  21622. ODStorageUnit* storageUnit);
  21623.  
  21624. æC Protection
  21625.     Public.  Only called by ODDraft; parts must not call.
  21626.  
  21627. Override policy
  21628.     Derived class cannot override.
  21629.     Derived class cannot call base class behavior, during derived class behavior.
  21630.  
  21631. Basic operation
  21632. Internalizes the object from its persistent storage unit.
  21633.  
  21634. Inputs
  21635. storageUnit
  21636.     The persistent storage unit for the link object.
  21637.  
  21638. Outputs
  21639. None.
  21640.  
  21641. Exceptions Signalled
  21642. <Storage exceptions>
  21643.     Exceptions may be raised reading persistent properties. 
  21644. kODLinkBroken
  21645.     The associated link  object could not be found.
  21646.  
  21647. Pre conditions
  21648. None.
  21649.  
  21650. Post conditions
  21651. The link source object is initialized.
  21652.  
  21653. æKY ODLinkSource::IsAutoUpdate
  21654. LinkSource::IsAutoUpdate
  21655. LinkSource->IsAutoUpdate
  21656. æT Class Method
  21657. æD ODBoolean IsAutoUpdate();
  21658.  
  21659. æC Protection
  21660.     Public.  
  21661.  
  21662. Override policy
  21663.     Derived class cannot override.
  21664.     Derived class cannot call base class behavior, during derived class behavior.
  21665.  
  21666. Basic operation
  21667. Returns kODTrue if updates are automatically exported to other
  21668. documents when the link's draft is saved. This setting defaults to
  21669. kODTrue.
  21670.  
  21671. Inputs
  21672. None.
  21673.  
  21674. Outputs
  21675. None.
  21676.  
  21677. Exceptions Signalled
  21678. None.
  21679.  
  21680. Pre conditions
  21681. None.
  21682.  
  21683. Post conditions
  21684. None.
  21685.  
  21686. æKY ODLinkSource::Lock
  21687. LinkSource::Lock
  21688. LinkSource->Lock
  21689. æT Class Method
  21690. æD ODBoolean Lock(
  21691. ODULong wait,
  21692. ODLinkKey* key);
  21693.  
  21694. æC Protection
  21695.     Public.  Parts must call this method to aquire a key required by other methods.
  21696.  
  21697. Override policy
  21698.     Derived class cannot override.
  21699.     Derived class cannot call base class behavior, during derived class behavior.
  21700.  
  21701. Basic operation
  21702. Gain exclusive access to the content storage unit of the link. The
  21703. value kODTrue is returned if the lock is granted; the key argument is
  21704. set to a valid link key.
  21705.  
  21706. Inputs
  21707. wait
  21708.     The interval to wait for access to be granted.  A value of zero means
  21709. no wait, a value of ULONG_MAX means an indefinite wait.  Other values
  21710. are platform-dependent.
  21711.  
  21712. Outputs
  21713. <result>
  21714.     kODTrue if access is granted and kODFalse if denied.
  21715. key
  21716.     If the result is kODTrue, a valid key value required by routines that
  21717. access or modify the link's content.  If the result is kODFalse, key
  21718. is an undefined invalid key.
  21719.  
  21720. Exceptions Signalled
  21721. None.
  21722.  
  21723. Pre conditions
  21724. None.
  21725.  
  21726. Post conditions
  21727. If kODTrue is returned, the returned key provides exclusive access to
  21728. the link's content.
  21729.  
  21730. æKY ODLinkSource::Purge
  21731. LinkSource::Purge
  21732. LinkSource->Purge
  21733. æT Class Method
  21734. æD ODSize Purge(
  21735. ODSize size);
  21736.  
  21737. æC Protection
  21738.     Public.  
  21739.  
  21740. Override policy
  21741.     Derived class cannot override.
  21742.     Derived class cannot call base class behavior, during derived class behavior.
  21743.  
  21744. Basic operation
  21745. Attempts to free any storage it can. Returns amount it was able to
  21746. free.
  21747.  
  21748. Inputs
  21749. size
  21750.     Amount of memory requested
  21751.  
  21752. Outputs
  21753. Return
  21754.     value Amount of memory that was freed
  21755.  
  21756. Exceptions Signalled
  21757. None.
  21758.  
  21759. Pre conditions
  21760. None.
  21761.  
  21762. Post conditions
  21763. Some memory may be freed for use.
  21764.  
  21765. æKY ODLinkSource::ReadLinkEdition
  21766. LinkSource::ReadLinkEdition
  21767. LinkSource->ReadLinkEdition
  21768. æT Class Method
  21769. æD void ReadLinkEdition(
  21770. ODLinkKey key);
  21771.  
  21772. æC Protection
  21773.     Public.  Macintosh specific.  Should only be called by the ODLinkManager
  21774. object.
  21775.  
  21776. Override policy
  21777.     Derived class cannot override.
  21778.     Derived class cannot call base class behavior, during derived class behavior.
  21779.  
  21780. Basic operation
  21781. Link should update itself by reading its edition file.
  21782.  
  21783. Inputs
  21784. key
  21785.     A valid key returned by Lock().
  21786.  
  21787. Outputs
  21788. None.
  21789.  
  21790. Exceptions Signalled
  21791. kODErrInvalidLinkKey
  21792.  
  21793. Pre conditions
  21794. None.
  21795.  
  21796. Post conditions
  21797. None.
  21798.  
  21799. æKY ODLinkSource::ReleaseAll
  21800. LinkSource::ReleaseAll
  21801. LinkSource->ReleaseAll
  21802. æT Class Method
  21803. æD void ReleaseAll();
  21804.  
  21805. æC Protection
  21806.     Public.  Should only be called by ODDraft objects.  Parts do not call.
  21807.  
  21808. Override policy
  21809.     Derived class cannot override.
  21810.     Derived class cannot call base class behavior, during derived class behavior.
  21811.  
  21812. Basic operation
  21813. Used by the Draft to get the link to release all references to 
  21814. persistent obects.  After calling this method, the effect of calling
  21815. other methods is undefined.  The link source object should be
  21816. immediately deleted.
  21817.  
  21818. Inputs
  21819. None.
  21820.  
  21821. Outputs
  21822. None.
  21823.  
  21824. Exceptions Signalled
  21825. None.
  21826.  
  21827. Pre conditions
  21828. The link source object has been initialized.
  21829.  
  21830. Post conditions
  21831. The link source object holds no references to other persistent
  21832. objects.
  21833.  
  21834. æKY ODLinkSource::SetAutoUpdate
  21835. LinkSource::SetAutoUpdate
  21836. LinkSource->SetAutoUpdate
  21837. æT Class Method
  21838. æD void SetAutoUpdate(
  21839. ODBoolean automatic);
  21840.  
  21841. æC Protection
  21842.     Public.  
  21843.  
  21844. Override policy
  21845.     Derived class cannot override.
  21846.     Derived class cannot call base class behavior, during derived class behavior.
  21847.  
  21848. Basic operation
  21849. If automatic is kODTrue, export updates to other documents when the
  21850. link's draft is saved.  If automatic is kODFalse, updates are exported
  21851. when the ContentChanged method is called.
  21852.  
  21853. Inputs
  21854. None.
  21855.  
  21856. Outputs
  21857. None.
  21858.  
  21859. Exceptions Signalled
  21860. None.
  21861.  
  21862. Pre conditions
  21863. None.
  21864.  
  21865. Post conditions
  21866. None.
  21867.  
  21868. æKY ODLinkSource::SetLink
  21869. LinkSource::SetLink
  21870. LinkSource->SetLink
  21871. æT Class Method
  21872. æD void InitLinkSource(
  21873. ODLink* link);
  21874.  
  21875. æC Protection
  21876.     Public.  Only called by ODDraft; parts must not call.
  21877.  
  21878. Override policy
  21879.     Derived class can override.
  21880.     Derived class can call base class behavior, during derived class behavior.
  21881.  
  21882. Basic operation
  21883. Completes initialization of this object.  Should be called after the
  21884. argument link object's InitLink method has been called.
  21885.  
  21886. Inputs
  21887. link
  21888.     The associated link object.
  21889.  
  21890. Outputs
  21891. None.
  21892.  
  21893. Exceptions Signalled
  21894. None.
  21895.  
  21896. Pre conditions
  21897. This object's InitLinkSource method has been called.
  21898.  
  21899. Post conditions
  21900. This object is fully initialized.
  21901.  
  21902. æKY ODLinkSource::SetSourcePart
  21903. LinkSource::SetSourcePart
  21904. LinkSource->SetSourcePart
  21905. æT Class Method
  21906. æD void SetSourcePart(
  21907. ODStorageUnit* sourcePartSU);
  21908.  
  21909. æC Protection
  21910.     Public.  
  21911.  
  21912. Override policy
  21913.     Derived class can override.
  21914.     Derived class can call base class behavior, during derived class behavior.
  21915.  
  21916. Basic operation
  21917. Change the part containing the source content of this link to the
  21918. argument storage unit reference.  This method is typically called on a
  21919. cloned ODLinkSource object during data interchange operations
  21920. involving linked content.
  21921.  
  21922. Inputs
  21923. sourcePartSU
  21924.     The storage unit for the new source part.
  21925.  
  21926. Outputs
  21927. None.
  21928.  
  21929. Exceptions Signalled
  21930. None.
  21931.  
  21932. Pre conditions
  21933. None.
  21934.  
  21935. Post conditions
  21936. The reference count of the previous source part storage unit is
  21937. decremented.  The reference count of the argument storage unit is
  21938. incremented.
  21939.  
  21940. æKY ODLinkSource::ShowLinkSourceInfo
  21941. LinkSource::ShowLinkSourceInfo
  21942. LinkSource->ShowLinkSourceInfo
  21943. æT Class Method
  21944. æD ODBoolean ShowLinkSourceInfo(
  21945. ODFacet* facet,
  21946. ODUpdateID change,
  21947. ODBoolean changesAllowed,
  21948. ODLinkInfoResult* infoResult);
  21949.  
  21950. æC Protection
  21951.     Public.  
  21952.  
  21953. Override policy
  21954.     Derived class can override.
  21955.     Derived class can call base class behavior, during derived class behavior.
  21956.  
  21957. Basic operation
  21958. Display the link dialog showing the information on a source link. If
  21959. the return value of this function is kODFalse, that means the user has
  21960. cancelled out of the dialog and no further action needs to be taken.
  21961. Otherwise, the caller should examine infoResult and procced
  21962. accordingly.
  21963.  
  21964. Inputs
  21965. change
  21966.     The update ID of the source content.
  21967. facet
  21968.     facet over which the dialog should be displayed.
  21969. changesAllowed
  21970.     If kODTrue, allow the user to change settings in the dialog,
  21971. otherwise, the dialog is view only.
  21972.  
  21973. Outputs
  21974. <return>
  21975.     Boolean showing whether the user hits the OK buttom.
  21976. infoResult
  21977.     a structure containing the result of the source link dialog. 
  21978.  
  21979. Exceptions Signalled
  21980. None.
  21981.  
  21982. Pre conditions
  21983. None.
  21984.  
  21985. Post conditions
  21986. None.
  21987.  
  21988. æKY ODLinkSource::ShowSourceContent
  21989. LinkSource::ShowSourceContent
  21990. LinkSource->ShowSourceContent
  21991. æT Class Method
  21992. æD void ShowSourceContent();
  21993.  
  21994. æC Protection
  21995.     Public.  Called by ODLink and ODLinkManager only.  Parts should not call.
  21996.  
  21997. Override policy
  21998.     Derived class cannot override.
  21999.     Derived class cannot call base class behavior, during derived class behavior.
  22000.  
  22001. Basic operation
  22002. Causes the source part of the link to become active, makes the source
  22003. content visible, and displays the link border.  Throws an exception if
  22004. the source part of the link cannot be located, or if the link has been
  22005. broken at the source.
  22006.  
  22007. Inputs
  22008. None.
  22009.  
  22010. Outputs
  22011. None.
  22012.  
  22013. Exceptions Signalled
  22014. kODErrLinkBroken
  22015.     Cannot locate the source of the link.
  22016.  
  22017. Pre conditions
  22018. None.
  22019.  
  22020. Post conditions
  22021. None.
  22022.  
  22023. æKY ODLinkSource::Unlock
  22024. LinkSource::Unlock
  22025. LinkSource->Unlock
  22026. æT Class Method
  22027. æD void Unlock(
  22028. ODLinkKey key);
  22029.  
  22030. æC Protection
  22031.     Public.  Parts must call this method when done accessing or modifying the
  22032. content of a link.
  22033.  
  22034. Override policy
  22035.     Derived class cannot override.
  22036.     Derived class cannot call base class behavior, during derived class behavior.
  22037.  
  22038. Basic operation
  22039. Relinquish a key returned by Lock(). Exclusive access to the link's
  22040. content by this thread is relinquished if this thread did not already
  22041. have exclusive access when the key was granted.
  22042.  
  22043. Inputs
  22044. key
  22045.     A valid key returned by Lock().
  22046.  
  22047. Outputs
  22048. None.
  22049.  
  22050. Exceptions Signalled
  22051. kODErrInvalidLinkKey
  22052.     The key argument is not valid.
  22053.  
  22054. Pre conditions
  22055. The key argument is a valid key returned by Lock().
  22056.  
  22057. Post conditions
  22058. The key is no longer valid.  Exclusive access to the link's content is
  22059. relinquished.
  22060.  
  22061. æKY ODLinkSource::UseLinkEdition
  22062. LinkSource::UseLinkEdition
  22063. LinkSource->UseLinkEdition
  22064. æT Class Method
  22065. æD void UseLinkEdition(
  22066. EditionContainerSpec editionContainer,
  22067. ODFileSpec* documentSpec,
  22068. ODULong sectionID,
  22069. ODLinkKey key);
  22070.  
  22071. æC Protection
  22072.     Public.  Macintosh specific.  Should only be called by the ODLinkManager
  22073. object.
  22074.  
  22075. Override policy
  22076.     Derived class cannot override.
  22077.     Derived class cannot call base class behavior, during derived class behavior.
  22078.  
  22079. Basic operation
  22080. Subscribe to the argument edition container using the unique section
  22081. ID.
  22082.  
  22083. Inputs
  22084. editionContainer
  22085.     Specifies the edition file to use as the source of the link. 
  22086. documentSpec
  22087.     The file containing this object's draft.
  22088. sectionID
  22089.     The section identification to use for this link.
  22090. key
  22091.     A valid key returned by Lock().
  22092.  
  22093. Outputs
  22094. <result>
  22095.     An alias to the edition file.
  22096.  
  22097. Exceptions Signalled
  22098. kODErrInvalidLinkKey
  22099.  
  22100. Pre conditions
  22101. The link object's fLinkSource field is kODNULL.
  22102.  
  22103. Post conditions
  22104. The link object gets its content from a source part in another
  22105. document via the specified edition file.
  22106.  
  22107. æKY ODLinkSource::fAutoExport
  22108. LinkSource::fAutoExport
  22109. æT Class Field
  22110. æD ODBoolean
  22111. æC Persistent form
  22112. OpenDoc:Property:AutoExport
  22113. kODPropAutoExport
  22114. kODTrue if link should be automatically exported when the draft is
  22115. saved.
  22116.  
  22117. æKY ODLinkSource::fChangeID
  22118. LinkSource::fChangeID
  22119. æT Class Field
  22120. æD ODChangeID
  22121. æC Persistent form
  22122. OpenDoc:Property:ChangeID
  22123. kODPropChangeID
  22124. The change identification of the link's current content.
  22125.  
  22126. æKY ODLinkSource::fContentSU
  22127. LinkSource::fContentSU
  22128. æT Class Field
  22129. æD ODStorageUnit*
  22130. æC Persistent form
  22131. OpenDoc:Property:LinkContentSU
  22132. kODPropLinkContentSU
  22133. A reference to the storage unit containing the content of the link.
  22134.  
  22135. æKY ODLinkSource::fLink
  22136. LinkSource::fLink
  22137. æT Class Field
  22138. æD ODLink*
  22139. æC Persistent form
  22140. OpenDoc:Property:Link
  22141. kODPropLink
  22142. A reference to the companion ODLink object.
  22143.  
  22144. æKY ODLinkSource::fSection
  22145. LinkSource::fSection
  22146. æT Class Field
  22147. æD SectionHandle
  22148. æC Persistent form
  22149. OpenDoc:Property:LinkSection
  22150. kODPropLinkSection
  22151. When representing a link originating in another document, the section
  22152. record associated with the link content.
  22153.  
  22154. æKY ODLinkSource::fSourcePart
  22155. LinkSource::fSourcePart
  22156. æT Class Field
  22157. æD ODPart*
  22158. æC Persistent form
  22159. OpenDoc:Property:SourcePart
  22160. kODPropSourcePart
  22161. A reference to the part containing the source of the link.
  22162.  
  22163.  
  22164. æKY ODLinkSourceIteratorHelp
  22165. ODLinkSourceIterator
  22166. LinkSourceIterator
  22167. æKL ODLinkSourceIterator::First
  22168. ODLinkSourceIterator::InitLinkSourceIterator
  22169. ODLinkSourceIterator::IsNotComplete
  22170. ODLinkSourceIterator::Next
  22171. æC Basic Class Documentation
  22172. ODLinkSourceIterator is an iterator for the class ODLink. 
  22173. ODLinkSourceIterator is an abstract class with  derived from ODObject.
  22174. Container suites are responsible for subclassing ODLinkSourceIterator
  22175. to provide the appropriate behavior.  The factory method for
  22176. ODLinkSourceIterator is ODDraft::CreateLinkSourceIterator.  This class
  22177. is not available to parts, but can be used by container applications. 
  22178.  
  22179. Theory of Operation
  22180. This class is used to iterate over the link objects in a draft.
  22181. Iteration is forward only, and links are returned in no particular
  22182. order.  After getting the iterator from
  22183. ODDraft::CreateLinkSourceIterator(), First() should be used to access
  22184. the first link in the iteration; thereafter, Next() can be called
  22185. repeatedly to access the remaining links.  First() and Next() will
  22186. return kODNULL when all links have been returned.  First() cannot be
  22187. used to restart the iteration.
  22188.  
  22189. Invariants Maintained by Class
  22190.  
  22191. æKY ODLinkSourceIterator::First
  22192. LinkSourceIterator::First
  22193. LinkSourceIterator->First
  22194. æT Class Method
  22195. æD ODLinkSource First();
  22196.  
  22197. æC Protection
  22198.     Public.  
  22199.  
  22200. Override policy
  22201.     Derived class must override.
  22202.     Derived class cannot call base class behavior.
  22203.  
  22204. Basic operation
  22205. Returns an ODLinkSource object in the draft.  The refcount of the
  22206. object is not incremented.  After creating an iterator using
  22207. ODDraft::CreateLinkSourceIterator,  call this method once, then call
  22208. Next repeatedly to iterate through all link source objects in the
  22209. draft.
  22210.  
  22211. Inputs
  22212. None.
  22213.  
  22214. Outputs
  22215. <return>
  22216.     An ODLinkSource object in the draft.  If no link sources exist in the
  22217. draft, kODNULL is returned, although the client should test for
  22218. completion by calling IsNotComplete.
  22219.  
  22220. Exceptions Signalled
  22221. None.
  22222.  
  22223. Pre conditions
  22224. The iterator was created by ODDraft::CreateLinkSourceIterator.
  22225.  
  22226. Post conditions
  22227. A link source object is returned, or kODNULL if none exist in the
  22228. draft.
  22229.  
  22230. æKY ODLinkSourceIterator::InitLinkSourceIterator
  22231. LinkSourceIterator::InitLinkSourceIterator
  22232. LinkSourceIterator->InitLinkSourceIterator
  22233. æT Class Method
  22234. æD void InitLinkSourceIterator();
  22235.  
  22236. æC Protection
  22237.     Private.  For use by factory methods only.
  22238.  
  22239. Override policy
  22240.     Derived class cannot override.
  22241.     Derived class cannot call base class behavior.
  22242.  
  22243. Basic operation
  22244. Initializes the iterator.
  22245.  
  22246. Inputs
  22247. None.
  22248.  
  22249. Outputs
  22250. None.
  22251.  
  22252. Exceptions Signalled
  22253. None.
  22254.  
  22255. Pre conditions
  22256. None.
  22257.  
  22258. Post conditions
  22259. First() may be called.
  22260.  
  22261. æKY ODLinkSourceIterator::IsNotComplete
  22262. LinkSourceIterator::IsNotComplete
  22263. LinkSourceIterator->IsNotComplete
  22264. æT Class Method
  22265. æD ODBoolean IsNotComplete();
  22266.  
  22267. æC Protection
  22268.     Public.  
  22269.  
  22270. Override policy
  22271.     Derived class must override.
  22272.     Derived class cannot call base class behavior.
  22273.  
  22274. Basic operation
  22275. Test if iteration is complete.
  22276.  
  22277. Inputs
  22278. None.
  22279.  
  22280. Outputs
  22281. <return>
  22282.     Returns kODTrue if the last call to First or Next returned a valid
  22283. ODLinkSource object, and kODFalse otherwise.
  22284.  
  22285. Exceptions Signalled
  22286. None.
  22287.  
  22288. Pre conditions
  22289. The list has been created and First() has been called to start the
  22290. iteration.
  22291.  
  22292. Post conditions
  22293. None.
  22294.  
  22295. æKY ODLinkSourceIterator::Next
  22296. LinkSourceIterator::Next
  22297. LinkSourceIterator->Next
  22298. æT Class Method
  22299. æD ODLinkSource Next();
  22300.  
  22301. æC Protection
  22302.     Public.  
  22303.  
  22304. Override policy
  22305.     Derived class must override.
  22306.     Derived class cannot call base class behavior.
  22307.  
  22308. Basic operation
  22309. Returns another link source object in the draft.  Next can be called
  22310. repeatedly to iterate through the remaining link source objects in the
  22311. draft.  IsNotComplete returns kODFalse if the preceeding call to Next
  22312. did not return a link source object.
  22313.  
  22314. Inputs
  22315. None.
  22316.  
  22317. Outputs
  22318. <return>
  22319.     An ODLink object from the draft.  If the iteration is complete kODNULL
  22320. is returned, although the client should test for completion by calling
  22321. IsNotComplete.
  22322.  
  22323. Exceptions Signalled
  22324. None.
  22325.  
  22326. Pre conditions
  22327. First has been called return a link source object in the draft.
  22328.  
  22329. Post conditions
  22330. None.
  22331.  
  22332.  
  22333. æKY ODLinkSpecHelp
  22334. ODLinkSpec
  22335. LinkSpec
  22336. æKL ODLinkSpec::ODLinkSpec
  22337. ODLinkSpec::~ODLinkSpec
  22338. ODLinkSpec::GetPart
  22339. ODLinkSpec::GetPartData
  22340. ODLinkSpec::GetProcessID
  22341. ODLinkSpec::GetProcessLaunchDate
  22342. ODLinkSpec::InitLinkSpec
  22343. ODLinkSpec::ReadFromAppleEvent
  22344. ODLinkSpec::ReadLinkSpec
  22345. ODLinkSpec::WriteLinkSpec
  22346. ODLinkSpec::WriteToAppleEvent
  22347. ODLinkSpec::fPart
  22348. ODLinkSpec::fPartData
  22349. ODLinkSpec::fProcessID
  22350. æC Basic Class Documentation
  22351. This class represents potential links to part content.  This class is
  22352. not to be subclassed by the developer.
  22353.  
  22354. For further information on the implementation of OpenDoc links, part
  22355. developers are referred to the documentation for the ODLink and
  22356. ODLinkSource classes.  Specific methods of class ODPart and ODFrame
  22357. are also relevant to a complete understanding of linking.
  22358.  
  22359. Developers implementing a document shell and platform implementors are
  22360. also referred to the documentation on the ODLinkManager.
  22361.  
  22362. Theory of Operation
  22363. A link specification represents a potential link to part content. 
  22364. When source part data is being copied or dragged, the source part
  22365. should write out a link specification along with the content that it
  22366. writes. This will be a signal that a link can be made to the source
  22367. part.  By implication, the value types available in the content define
  22368. the value types available through the link.
  22369.  
  22370. A recieving part creates a persistent link by calling the GetLink
  22371. method of its ODDraft object, passing in the link specification.  If
  22372. the source part is in the same document, the draft calls the source
  22373. part's CreateLink method, passing back the private data supplied by
  22374. the source part when the link specification was created.  If the
  22375. source part is in another document, the draft object forwards the link
  22376. specification to the link manager, which creates a cross-document
  22377. link.
  22378.  
  22379. An ODLinkSpec is a non-persistent object that contains methods for
  22380. writing itself to and from a pre-focused storage unit as a value. 
  22381.  
  22382. A source part calls ODDraft::CreateLinkSpec() to originate the link
  22383. specification.  The source part supplies an untyped block of data to
  22384. identify the content.  While this data may be anything whatsoever,
  22385. parts supporting the object model may find that an object specifier is
  22386. a natural choice.  The link specification can be turned into a storage
  22387. unit value via the CopyToProperty method.  By convention, the link
  22388. specification is written to a kODPropLinkSpec property.  The part
  22389. receiving a link specification value creates a new ODLinkSpec object
  22390. and calls its CopyFromProperty method to initialize it. 
  22391.  
  22392. If a link specification is written to the clipboard, and the content
  22393. identified by the link specification is changed in a manner that
  22394. doesn't affect the clipboard, the source part should remove the link
  22395. specification from the clipboard.  The source part can use clipboard
  22396. change ids to determine that its content is still on the clipboard.  
  22397.  
  22398. A link spec value is meaningless after the document containing the
  22399. part that created it is closed.
  22400.  
  22401. Invariants Maintained by Class
  22402. A link spec value identifies its source part across document
  22403. boundaries.
  22404. A link spec value identifies its source part until the document
  22405. containing the source part is closed.
  22406. æKY ODLinkSpec::ODLinkSpec
  22407. LinkSpec::ODLinkSpec
  22408. LinkSpec->ODLinkSpec
  22409. æT Class Method
  22410. æD ODLinkSpec();
  22411.  
  22412. æC Protection
  22413.     Public.  Source parts should call ODDraft::CreateLinkSpec.  The destination
  22414. part calls this routine prior to reading a link specification value.
  22415.  
  22416. Override policy
  22417.     Derived class cannot override.
  22418.     Derived class cannot call base class behavior, during derived class behavior.
  22419.  
  22420. Basic operation
  22421. Creates an ODLinkSpec object.
  22422.  
  22423. Inputs
  22424. None.
  22425.  
  22426. Outputs
  22427. None.
  22428.  
  22429. Exceptions Signalled
  22430. None.
  22431.  
  22432. Pre conditions
  22433. None.
  22434.  
  22435. Post conditions
  22436. The object is initialized.
  22437.  
  22438. æKY ODLinkSpec::~ODLinkSpec
  22439. LinkSpec::~ODLinkSpec
  22440. LinkSpec->~ODLinkSpec
  22441. æT Class Method
  22442. æD ~ODLinkSpec();
  22443.  
  22444. æC Protection
  22445.     Public.  
  22446.  
  22447. Override policy
  22448.     Derived class cannot override.
  22449.     Derived class cannot call base class behavior, during derived class behavior.
  22450.  
  22451. Basic operation
  22452. Destroys the ODLinkSpec object.
  22453.  
  22454. Inputs
  22455. None.
  22456.  
  22457. Outputs
  22458. None.
  22459.  
  22460. Exceptions Signalled
  22461. None.
  22462.  
  22463. Pre conditions
  22464. None.
  22465.  
  22466. Post conditions
  22467. This link specification object doesn't exist.
  22468.  
  22469. æKY ODLinkSpec::GetPart
  22470. LinkSpec::GetPart
  22471. LinkSpec->GetPart
  22472. æT Class Method
  22473. æD ODPart* GetPart();
  22474.  
  22475. æC Protection
  22476.     Public.  Should not be called by parts.
  22477.  
  22478. Override policy
  22479.     Derived class cannot override.
  22480.     Derived class cannot call base class behavior, during derived class behavior.
  22481.  
  22482. Basic operation
  22483. Returns stored part reference.
  22484.  
  22485. Inputs
  22486. None.
  22487.  
  22488. Outputs
  22489. None.
  22490.  
  22491. Exceptions Signalled
  22492. None.
  22493.  
  22494. Pre conditions
  22495. None.
  22496.  
  22497. Post conditions
  22498. None.
  22499.  
  22500. æKY ODLinkSpec::GetPartData
  22501. LinkSpec::GetPartData
  22502. LinkSpec->GetPartData
  22503. æT Class Method
  22504. æD ODByteArray GetPartData();
  22505.  
  22506. æC Protection
  22507.     Public.  Should not be called by parts.
  22508.  
  22509. Override policy
  22510.     Derived class can override.
  22511.     Derived class can call base class behavior, during derived class behavior.
  22512.  
  22513. Basic operation
  22514. Returns a structure containing a copy of the part data.
  22515.  
  22516. Inputs
  22517. None.
  22518.  
  22519. Outputs
  22520. <return>
  22521.     An ODByteArray structure containing a copy of the part data.  The
  22522. client is responsible for disposing the pointer in the _buffer field
  22523. of the structure.
  22524.  
  22525. Exceptions Signalled
  22526. None.
  22527.  
  22528. Pre conditions
  22529. None.
  22530.  
  22531. Post conditions
  22532. None.
  22533.  
  22534. æKY ODLinkSpec::GetProcessID
  22535. LinkSpec::GetProcessID
  22536. LinkSpec->GetProcessID
  22537. æT Class Method
  22538. æD ProcessSerialNumber GetProcessID();
  22539.  
  22540. æC Protection
  22541.     Public.  Should not be called by parts.
  22542.  
  22543. Override policy
  22544.     Derived class cannot override.
  22545.     Derived class cannot call base class behavior, during derived class behavior.
  22546.  
  22547. Basic operation
  22548. Returns the process serial number of the originating part.
  22549.  
  22550. Inputs
  22551. None.
  22552.  
  22553. Outputs
  22554. <result>
  22555.     The process serial number of the process that originated this link
  22556. specification.
  22557.  
  22558. Exceptions Signalled
  22559. None.
  22560.  
  22561. Pre conditions
  22562. None.
  22563.  
  22564. Post conditions
  22565. None.
  22566.  
  22567. æKY ODLinkSpec::GetProcessLaunchDate
  22568. LinkSpec::GetProcessLaunchDate
  22569. LinkSpec->GetProcessLaunchDate
  22570. æT Class Method
  22571. æD ODULong GetProcessLaunchDate();
  22572.  
  22573. æC Protection
  22574.     Public.  Should not be called by parts.
  22575.  
  22576. Override policy
  22577.     Derived class cannot override.
  22578.     Derived class cannot call base class behavior, during derived class behavior.
  22579.  
  22580. Basic operation
  22581. Returns the launch date of the originating process.  This value is
  22582. used in the platform implementation to help ensure that the
  22583. originating process is the correct one.
  22584.  
  22585. Inputs
  22586. None.
  22587.  
  22588. Outputs
  22589. <result>
  22590.     The launch date of the originating process.
  22591.  
  22592. Exceptions Signalled
  22593. None.
  22594.  
  22595. Pre conditions
  22596. None.
  22597.  
  22598. Post conditions
  22599. None.
  22600.  
  22601. æKY ODLinkSpec::InitLinkSpec
  22602. LinkSpec::InitLinkSpec
  22603. LinkSpec->InitLinkSpec
  22604. æT Class Method
  22605. æD void InitLinkSpec(
  22606. ODPart* part,
  22607. ODByteArray* partData);
  22608.  
  22609. æC Protection
  22610.     Public.  Should not be called by parts.  Parts should call
  22611. ODDraft:CreateLinkSpec().
  22612.  
  22613. Override policy
  22614.     Derived class can override.
  22615.     Derived class can call base class behavior, during derived class behavior.
  22616.  
  22617. Basic operation
  22618. Initializes this ODLinkSpec object with the supplied parameters.  The
  22619. caller is responsible for disposing of the partData argument.
  22620.  
  22621. This routine may be called with nil arguments if ReadLinkSpec is
  22622. called to initialize this object.
  22623.  
  22624. Inputs
  22625. part
  22626.     The part object creating this link spec, or nil if ReadLinkSpec will
  22627. be called to set the source part.
  22628. partData
  22629.     Arbitrary data for private use of the part in ODPart::CreateLink(). 
  22630. Nil may be passed if ReadLinkSpec will be called to set the source
  22631. part data.
  22632.  
  22633. Outputs
  22634. None.
  22635.  
  22636. Exceptions Signalled
  22637. None.
  22638.  
  22639. Pre conditions
  22640. None.
  22641.  
  22642. Post conditions
  22643. This is an initialized ODLinkSpec object.
  22644.  
  22645. æKY ODLinkSpec::ReadFromAppleEvent
  22646. LinkSpec::ReadFromAppleEvent
  22647. LinkSpec->ReadFromAppleEvent
  22648. æT Class Method
  22649. æD void ReadFromAppleEvent(
  22650. AppleEvent* theAppleEvent);
  22651.  
  22652. æC Protection
  22653.     Public.  Should only be called by the Link Manager in creating a cross-document
  22654. link.
  22655.  
  22656. Override policy
  22657.     Derived class cannot override.
  22658.     Derived class cannot call base class behavior, during derived class behavior.
  22659.  
  22660. Basic operation
  22661. Initialize this object from an Apple event.
  22662.  
  22663. Inputs
  22664. theAppleEvent
  22665.     An Apple event containing  values for an ODLinkSpec object.
  22666.  
  22667. Outputs
  22668. None.
  22669.  
  22670. Exceptions Signalled
  22671. <platform errors>
  22672.     Host platform errors.
  22673.  
  22674. Pre conditions
  22675. The argument Apple event contains the values needed to initialize an
  22676. ODLinkSpec object.
  22677.  
  22678. Post conditions
  22679. This is an initialized ODLinkSpec object.
  22680.  
  22681. æKY ODLinkSpec::ReadLinkSpec
  22682. LinkSpec::ReadLinkSpec
  22683. LinkSpec->ReadLinkSpec
  22684. æT Class Method
  22685. æD void ReadLinkSpec(
  22686. ODStorageUnit* su);
  22687.  
  22688. æC Protection
  22689.     Public.  
  22690.  
  22691. Override policy
  22692.     Derived class can override.
  22693.     Derived class can call base class behavior, during derived class behavior.
  22694.  
  22695. Basic operation
  22696. Initialize this link specification from a link spec value in the 
  22697. argument storage unit.  The storage unit  must be pre-focused to a
  22698. property.
  22699.  
  22700. Inputs
  22701. su
  22702.     A storage unit that has been pre-focused to a property containing a
  22703. link specification  value.
  22704.  
  22705. Outputs
  22706. None.
  22707.  
  22708. Exceptions Signalled
  22709. kODErrNoLinkSpecValue
  22710.     Focused property does not contain a link specification value. 
  22711. kODErrCorruptLinkSpecValue
  22712.     Focused property contains an invalid link specification value.
  22713.  
  22714. Pre conditions
  22715. The argument storage unit is pre-focused to a property containing a
  22716. link spec value.
  22717.  
  22718. Post conditions
  22719. This object is initialized to the link specification in the
  22720. pre-focused storage unit.
  22721.  
  22722. æKY ODLinkSpec::WriteLinkSpec
  22723. LinkSpec::WriteLinkSpec
  22724. LinkSpec->WriteLinkSpec
  22725. æT Class Method
  22726. æD void WriteLinkSpec(
  22727. ODStorageUnit* su);
  22728.  
  22729. æC Protection
  22730.     Public.  Called by parts to put a link specification on the clipboard or
  22731. drag-and-drop storage unit.
  22732.  
  22733. Override policy
  22734.     Derived class cannot override.
  22735.     Derived class cannot call base class behavior, during derived class behavior.
  22736.  
  22737. Basic operation
  22738. Write this object into a pre-focused storage unit.  The argument
  22739. storage unit must be pre-focused to a property.
  22740.  
  22741. Inputs
  22742. su
  22743.     A storage unit that has been pre-focused to a property to contain the
  22744. link specification as a value.
  22745.  
  22746. Outputs
  22747. None.
  22748.  
  22749. Exceptions Signalled
  22750. None.
  22751.  
  22752. Pre conditions
  22753. The argument storage unit is focused to a property.
  22754.  
  22755. Post conditions
  22756. The argument storage unit contains a link specification value in its
  22757. focused property.
  22758.  
  22759. æKY ODLinkSpec::WriteToAppleEvent
  22760. LinkSpec::WriteToAppleEvent
  22761. LinkSpec->WriteToAppleEvent
  22762. æT Class Method
  22763. æD void WriteToAppleEvent(
  22764. AppleEvent* theAppleEvent);
  22765.  
  22766. æC Protection
  22767.     Public.  Should only be called by the Link Manager in creating a cross-document
  22768. link.
  22769.  
  22770. Override policy
  22771.     Derived class cannot override.
  22772.     Derived class cannot call base class behavior, during derived class behavior.
  22773.  
  22774. Basic operation
  22775. Write this object into an Apple event.
  22776.  
  22777. Inputs
  22778. theAppleEvent
  22779.     An Apple event record to contain the values in this object.
  22780.  
  22781. Outputs
  22782. None.
  22783.  
  22784. Exceptions Signalled
  22785. <platform errors>
  22786.     Host platform errors. 
  22787.  
  22788. Pre conditions
  22789. None.
  22790.  
  22791. Post conditions
  22792. The argument Apple event contains the values in this object.
  22793.  
  22794. æKY ODLinkSpec::fPart
  22795. LinkSpec::fPart
  22796. æT Class Field
  22797. æD ODPart*
  22798. æC 
  22799. æKY ODLinkSpec::fPartData
  22800. LinkSpec::fPartData
  22801. æT Class Field
  22802. æD ODByteArray
  22803. æC 
  22804. æKY ODLinkSpec::fProcessID
  22805. LinkSpec::fProcessID
  22806. æT Class Field
  22807. æD ProcessSerialNumber
  22808. æC 
  22809.  
  22810. æKY ODMenuBarHelp
  22811. ODMenuBar
  22812. MenuBar
  22813. æKL ODMenuBar::ODMenuBar
  22814. ODMenuBar::~ODMenuBar
  22815. ODMenuBar::AddMenuBefore
  22816. ODMenuBar::AddMenuLast
  22817. ODMenuBar::AddSubMenu
  22818. ODMenuBar::CheckCommand
  22819. ODMenuBar::Copy
  22820. ODMenuBar::DisableAll
  22821. ODMenuBar::Display
  22822. ODMenuBar::EnableAll
  22823. ODMenuBar::EnableAndCheckCommand
  22824. ODMenuBar::EnableCommand
  22825. ODMenuBar::fSession
  22826. ODMenuBar::fSystemMenus
  22827. ODMenuBar::GetCommand
  22828. ODMenuBar::GetItemString
  22829. ODMenuBar::GetMenu
  22830. ODMenuBar::GetMenuAndItem
  22831. ODMenuBar::InitMenuBar
  22832. ODMenuBar::IsCommandRegistered
  22833. ODMenuBar::IsCommandSynthetic
  22834. ODMenuBar::IsValid
  22835. ODMenuBar::Purge
  22836. ODMenuBar::RegisterCommand
  22837. ODMenuBar::Release
  22838. ODMenuBar::RemoveMenu
  22839. ODMenuBar::SetItemString
  22840. ODMenuBar::UnregisterAll
  22841. ODMenuBar::UnregisterCommand
  22842. æC Basic Class Documentation
  22843. ODMenuBar represents a composite menu bar, made up of menus from the
  22844. shell and the active part.
  22845. ODMenuBar is a subclass of ODRefCntObject.
  22846. ODMenuBar is implemented by platform vendors , and is
  22847. platform-specific. 
  22848. ODMenuBar participates in the UI Events and Part Activation protocols.
  22849.  
  22850. Theory of Operation
  22851. Partly to facilitate interoperability with OLE 2.0., interactions with
  22852. the 
  22853.  menu bar are encapsulated in the ODMenuBar class. The document shell
  22854. creates 
  22855.  a menu bar, adds menus to it, and makes it the base menu bar by
  22856. calling 
  22857. ODWindowState::SetBaseMenuBar(). Part Editors obtain a copy of the
  22858. base menu 
  22859.  bar by calling ODWindowState::CopyBaseMenuBar(). They then add menus
  22860. to this
  22861.     copy, and call its Display() method to make it the current menu
  22862. bar.
  22863.     
  22864.     Command Numbers and Menu Events:
  22865.     
  22866.     Unlike MS Windows, the Macintosh Menu Manager identifies a chosen
  22867. menu item
  22868.     using the menu ID and item number, rather than allowing the
  22869. programmer to
  22870.     associate a unique position-independent ID with a given menu item.
  22871.     
  22872.     The Macintosh implementation of OpenDoc allows the document shell 
  22873.     application and part editors  to register command IDs for menu
  22874. items. A mouse 
  22875.     down in the menu bar is turned into a menu event, with the message
  22876. field 
  22877.     containing the menu result, from which  a part can obtain the
  22878. command number. If no command is registered, a synthetic command is
  22879. generated.  If a command
  22880.     is not registered and not synthetic, a part should not be handling
  22881. it.
  22882.  
  22883. Invariants Maintained by Class
  22884.  
  22885. æKY ODMenuBar::ODMenuBar
  22886. MenuBar::ODMenuBar
  22887. MenuBar->ODMenuBar
  22888. æT Class Method
  22889. æD ODMenuBar();
  22890.  
  22891. æC Protection
  22892.     Public.  Part editors usually call ODWindowState::CopyBaseMenuBar() to create a
  22893. menu bar.
  22894.  
  22895. Override policy
  22896.     Derived class cannot override.
  22897.     Derived class cannot call base class behavior, during derived class behavior.
  22898.  
  22899. Basic operation
  22900. Constructs the menu bar object. InitMenuBar must also be called.
  22901.  
  22902. Inputs
  22903. None.
  22904.  
  22905. Outputs
  22906. None.
  22907.  
  22908. Exceptions Signalled
  22909. None.
  22910.  
  22911. Pre conditions
  22912. None.
  22913.  
  22914. Post conditions
  22915. Instance is in a safe state
  22916.  
  22917. æKY ODMenuBar::~ODMenuBar
  22918. MenuBar::~ODMenuBar
  22919. MenuBar->~ODMenuBar
  22920. æT Class Method
  22921. æD ~ODMacMenuBar();
  22922.  
  22923. æC Protection
  22924.     Public.  
  22925.  
  22926. Override policy
  22927.     Derived class cannot override.
  22928.     Derived class cannot call base class behavior.
  22929.  
  22930. Basic operation
  22931. Frees the memory allocated by this instance.
  22932.  
  22933. Inputs
  22934. None.
  22935.  
  22936. Outputs
  22937. None.
  22938.  
  22939. Exceptions Signalled
  22940. None.
  22941.  
  22942. Pre conditions
  22943. None.
  22944.  
  22945. Post conditions
  22946. The memory allocated by this instance is freed, and the instance is no
  22947. longer usable.
  22948.  
  22949. æKY ODMenuBar::AddMenuBefore
  22950. MenuBar::AddMenuBefore
  22951. MenuBar->AddMenuBefore
  22952. æT Class Method
  22953. æD void AddMenuBefore(
  22954. ODMenuID menuID,
  22955. ODPlatformMenu menu,
  22956. ODPart* part,
  22957. ODMenuID beforeID);
  22958.  
  22959. æC Protection
  22960.     Public.  
  22961.  
  22962. Override policy
  22963.     Derived class can override.
  22964.     Derived class can call base class behavior, during derived class behavior.
  22965.  
  22966. Basic operation
  22967. Inserts a menu before the menu with the specified ID.
  22968.  
  22969. Inputs
  22970. menuID
  22971.     The ID of the new menu
  22972. menu
  22973.     The platform-specific menu structure
  22974. part
  22975.      The part whichi owns the menu, or kODNULL if it is a shell menu.
  22976. beforeID
  22977.     The ID of the menu before which to insert the new one.
  22978.  
  22979. Outputs
  22980. None.
  22981.  
  22982. Exceptions Signalled
  22983. kODErrOutOfMemory
  22984.     Out of memory
  22985.  
  22986. Pre conditions
  22987. A valid initialized instance.
  22988.  
  22989. Post conditions
  22990. The collection of menus contains the specified menu.
  22991.  
  22992. æKY ODMenuBar::AddMenuLast
  22993. MenuBar::AddMenuLast
  22994. MenuBar->AddMenuLast
  22995. æT Class Method
  22996. æD void AddMenuLast(
  22997. ODMenuID menuID,
  22998. ODPlatformMenu menu,
  22999. ODPart* part);
  23000.  
  23001. æC Protection
  23002.     Public.  
  23003.  
  23004. Override policy
  23005.     Derived class can override.
  23006.     Derived class can call base class behavior, during derived class behavior.
  23007.  
  23008. Basic operation
  23009. Appends a menu to the end of the menu bar.
  23010.  
  23011. Inputs
  23012. menuID
  23013.     The ID of the new menu
  23014. menu
  23015.     The platform-specific menu structure
  23016. part
  23017.      The part which owns the menu, or kODNULL if it is a shell menu.
  23018.  
  23019. Outputs
  23020. None.
  23021.  
  23022. Exceptions Signalled
  23023. kODErrOutOfMemory
  23024.     Out of memory
  23025.  
  23026. Pre conditions
  23027. A valid initialized instance.
  23028.  
  23029. Post conditions
  23030. The collection of menus contains the specified menu.
  23031.  
  23032. æKY ODMenuBar::AddSubMenu
  23033. MenuBar::AddSubMenu
  23034. MenuBar->AddSubMenu
  23035. æT Class Method
  23036. æD void AddSubMenu(
  23037. ODMenuID menuID,
  23038. ODPlatformMenu menu,
  23039. ODPart* part);
  23040.  
  23041. æC Protection
  23042.     Public.  
  23043.  
  23044. Override policy
  23045.     Derived class can override.
  23046.     Derived class can call base class behavior, during derived class behavior.
  23047.  
  23048. Basic operation
  23049. Adds a submenu to the menu list (required on Macintosh)
  23050.  
  23051. Inputs
  23052. menuID
  23053.     The ID of the new menu
  23054. menu
  23055.     The platform-specific menu structure
  23056. part
  23057.      The part whichi owns the menu, or kODNULL if it is a shell menu.
  23058.  
  23059. Outputs
  23060. None.
  23061.  
  23062. Exceptions Signalled
  23063. kODErrOutOfMemory
  23064.     Out of memory
  23065.  
  23066. Pre conditions
  23067. A valid initialized instance.
  23068.  
  23069. Post conditions
  23070. The collection of menus contains the specified sub menu.
  23071.  
  23072. æKY ODMenuBar::CheckCommand
  23073. MenuBar::CheckCommand
  23074. MenuBar->CheckCommand
  23075. æT Class Method
  23076. æD void CheckCommand(
  23077. ODCommandID cmdNumber,
  23078. ODBoolean check);
  23079.  
  23080. æC Protection
  23081.     Public.  
  23082.  
  23083. Override policy
  23084.     Derived class can override.
  23085.     Derived class can call base class behavior, during derived class behavior.
  23086.  
  23087. Basic operation
  23088. Places a check mark on the menu item, or unchecks it.
  23089.  
  23090. Inputs
  23091. cmdNumber
  23092.     The command number of the menu item to check
  23093. check
  23094.     Whether or not to check the item
  23095.  
  23096. Outputs
  23097. None.
  23098.  
  23099. Exceptions Signalled
  23100. None.
  23101.  
  23102. Pre conditions
  23103. None.
  23104.  
  23105. Post conditions
  23106. None.
  23107.  
  23108. æKY ODMenuBar::Copy
  23109. MenuBar::Copy
  23110. MenuBar->Copy
  23111. æT Class Method
  23112. æD ODMenuBar* Copy();
  23113.  
  23114. æC Protection
  23115.     Public.  Call by WindowState::CopyBaseMenuBar. Parts don't  typically call this
  23116. method.
  23117.  
  23118. Override policy
  23119.     Derived class can override.
  23120.     Derived class can call base class behavior, during derived class behavior.
  23121.  
  23122. Basic operation
  23123. Clones this object, including its command table.
  23124.  
  23125. Inputs
  23126. None.
  23127.  
  23128. Outputs
  23129. <return>
  23130.     A copy of this menu bar
  23131.  
  23132. Exceptions Signalled
  23133. None.
  23134.  
  23135. Pre conditions
  23136. A valid initialized menu bar.
  23137.  
  23138. Post conditions
  23139. No effect on this instance.
  23140.  
  23141. æKY ODMenuBar::DisableAll
  23142. MenuBar::DisableAll
  23143. MenuBar->DisableAll
  23144. æT Class Method
  23145. æD void DisableAll();
  23146.  
  23147. æC Protection
  23148.     Public.  
  23149.  
  23150. Override policy
  23151.     Derived class can override.
  23152.     Derived class can call base class behavior, during derived class behavior.
  23153.  
  23154. Basic operation
  23155. Disables all menus in the menu bar, except for system menus (Apple,
  23156. Help, Process)
  23157.  
  23158. Inputs
  23159. None.
  23160.  
  23161. Outputs
  23162. None.
  23163.  
  23164. Exceptions Signalled
  23165. None.
  23166.  
  23167. Pre conditions
  23168. An initialized menu bar
  23169.  
  23170. Post conditions
  23171. All menus besides system menus are enabled.
  23172.  
  23173. æKY ODMenuBar::Display
  23174. MenuBar::Display
  23175. MenuBar->Display
  23176. æT Class Method
  23177. æD void Display();
  23178.  
  23179. æC Protection
  23180.     Public.  
  23181.  
  23182. Override policy
  23183.     Derived class can override.
  23184.     Derived class can call base class behavior, during derived class behavior.
  23185.  
  23186. Basic operation
  23187. Installs this menu bar as the current menu bar.
  23188.  
  23189. Inputs
  23190. None.
  23191.  
  23192. Outputs
  23193. None.
  23194.  
  23195. Exceptions Signalled
  23196. None.
  23197.  
  23198. Pre conditions
  23199. A valid initialized instance.
  23200.  
  23201. Post conditions
  23202. The current menu bar contains the menus in this instance.
  23203.  
  23204. æKY ODMenuBar::EnableAll
  23205. MenuBar::EnableAll
  23206. MenuBar->EnableAll
  23207. æT Class Method
  23208. æD void EnableAll();
  23209.  
  23210. æC Protection
  23211.     Public.  
  23212.  
  23213. Override policy
  23214.     Derived class can override.
  23215.     Derived class can call base class behavior, during derived class behavior.
  23216.  
  23217. Basic operation
  23218. Enables all menus in the menu bar, except for system menus (Apple,
  23219. Help, Process)
  23220.  
  23221. Inputs
  23222. None.
  23223.  
  23224. Outputs
  23225. None.
  23226.  
  23227. Exceptions Signalled
  23228. None.
  23229.  
  23230. Pre conditions
  23231. An initialized menu bar
  23232.  
  23233. Post conditions
  23234. All menus besides system menus are enabled.
  23235.  
  23236. æKY ODMenuBar::EnableAndCheckCommand
  23237. MenuBar::EnableAndCheckCommand
  23238. MenuBar->EnableAndCheckCommand
  23239. æT Class Method
  23240. æD void EnableAndCheckCommand(
  23241. ODCommandID cmdNumber,
  23242. ODBoolean enable,
  23243. ODBoolean check) ;
  23244.  
  23245. æC Protection
  23246.     Public.  
  23247.  
  23248. Override policy
  23249.     Derived class can override.
  23250.     Derived class can call base class behavior, during derived class behavior.
  23251.  
  23252. Basic operation
  23253. Enables/disables  and/or checks/unchecks the specified menu item
  23254.  
  23255. Inputs
  23256. cmdNumber
  23257.     The item to enable/check
  23258. enable
  23259.     kODTrue to enable, kODFalse to disable.
  23260. check
  23261.     kODTrue to check, kODFalse to uncheck.
  23262.  
  23263. Outputs
  23264. None.
  23265.  
  23266. Exceptions Signalled
  23267. None.
  23268.  
  23269. Pre conditions
  23270. None.
  23271.  
  23272. Post conditions
  23273. None.
  23274.  
  23275. æKY ODMenuBar::EnableCommand
  23276. MenuBar::EnableCommand
  23277. MenuBar->EnableCommand
  23278. æT Class Method
  23279. æD void EnableCommand(
  23280. ODCommandID cmdNumber,
  23281. ODBoolean enable);
  23282.  
  23283. æC Protection
  23284.     Public.  
  23285.  
  23286. Override policy
  23287.     Derived class can override.
  23288.     Derived class can call base class behavior, during derived class behavior.
  23289.  
  23290. Basic operation
  23291. Enables/disables the specified menu item.
  23292.  
  23293. Inputs
  23294. cmdNumber
  23295.     The menu item to enable/disable
  23296. enable
  23297.     kODTrue to enable, kODFalse to disable
  23298.  
  23299. Outputs
  23300. None.
  23301.  
  23302. Exceptions Signalled
  23303. None.
  23304.  
  23305. Pre conditions
  23306. None.
  23307.  
  23308. Post conditions
  23309. None.
  23310.  
  23311. æKY ODMenuBar::fSession
  23312. MenuBar::fSession
  23313. MenuBar->fSession
  23314. æT Class Method
  23315. æD 
  23316.  
  23317. æC Protection
  23318.     Public.  
  23319.  
  23320. Override policy
  23321.     Derived class can override.
  23322.     Derived class can call base class behavior, during derived class behavior.
  23323.  
  23324. Basic operation
  23325. None.
  23326.  
  23327. Inputs
  23328. None.
  23329.  
  23330. Outputs
  23331. None.
  23332.  
  23333. Exceptions Signalled
  23334. None.
  23335.  
  23336. Pre conditions
  23337. None.
  23338.  
  23339. Post conditions
  23340. None.
  23341.  
  23342. æKY ODMenuBar::fSystemMenus
  23343. MenuBar::fSystemMenus
  23344. MenuBar->fSystemMenus
  23345. æT Class Method
  23346. æD 
  23347.  
  23348. æC Protection
  23349.     Public.  
  23350.  
  23351. Override policy
  23352.     Derived class can override.
  23353.     Derived class can call base class behavior, during derived class behavior.
  23354.  
  23355. Basic operation
  23356. None.
  23357.  
  23358. Inputs
  23359. None.
  23360.  
  23361. Outputs
  23362. None.
  23363.  
  23364. Exceptions Signalled
  23365. None.
  23366.  
  23367. Pre conditions
  23368. None.
  23369.  
  23370. Post conditions
  23371. None.
  23372.  
  23373. æKY ODMenuBar::GetCommand
  23374. MenuBar::GetCommand
  23375. MenuBar->GetCommand
  23376. æT Class Method
  23377. æD ODCommandID GetCommand(
  23378. ODMenuID menu,
  23379. ODMenuItemID menuItem);
  23380.  
  23381. æC Protection
  23382.     Public.  
  23383.  
  23384. Override policy
  23385.     Derived class can override.
  23386.     Derived class can call base class behavior, during derived class behavior.
  23387.  
  23388. Basic operation
  23389. Returns the command ID registered for the specified menu and menu
  23390. item.
  23391.  
  23392. Inputs
  23393. menu
  23394.     The menu ID.
  23395. menuItem
  23396.     The menu item.
  23397.  
  23398. Outputs
  23399. <return>
  23400.     A command number, or kODNoCommand
  23401.  
  23402. Exceptions Signalled
  23403. None.
  23404.  
  23405. Pre conditions
  23406. A valid initialized instance.
  23407.  
  23408. Post conditions
  23409. No effect on this instance.
  23410.  
  23411. æKY ODMenuBar::GetItemString
  23412. MenuBar::GetItemString
  23413. MenuBar->GetItemString
  23414. æT Class Method
  23415. æD void GetItemString(
  23416. ODCommandID cmdNumber,
  23417. Str255Param itemString);
  23418.  
  23419. æC Protection
  23420.     Public.  
  23421.  
  23422. Override policy
  23423.     Derived class can override.
  23424.     Derived class can call base class behavior, during derived class behavior.
  23425.  
  23426. Basic operation
  23427. Returns the text of the specified menu item.
  23428.  
  23429. Inputs
  23430. cmdNumber
  23431.     The item whose text you wish to obtain.
  23432.  
  23433. Outputs
  23434. itemString
  23435.     Returns the requested text
  23436.  
  23437. Exceptions Signalled
  23438. None.
  23439.  
  23440. Pre conditions
  23441. None.
  23442.  
  23443. Post conditions
  23444. None.
  23445.  
  23446. æKY ODMenuBar::GetMenu
  23447. MenuBar::GetMenu
  23448. MenuBar->GetMenu
  23449. æT Class Method
  23450. æD ODPlatformMenu GetMenu(
  23451. ODMenuID menu);
  23452.  
  23453. æC Protection
  23454.     Public.  
  23455.  
  23456. Override policy
  23457.     Derived class can override.
  23458.     Derived class can call base class behavior, during derived class behavior.
  23459.  
  23460. Basic operation
  23461. Returns the platform-specific menu structure (menu handle on
  23462. Macintosh) for the specified menu ID.
  23463.  
  23464. Inputs
  23465. menu
  23466.     The ID of the desired menu.
  23467.  
  23468. Outputs
  23469. <return>
  23470.     The menu handle
  23471.  
  23472. Exceptions Signalled
  23473. None.
  23474.  
  23475. Pre conditions
  23476. None.
  23477.  
  23478. Post conditions
  23479. None.
  23480.  
  23481. æKY ODMenuBar::GetMenuAndItem
  23482. MenuBar::GetMenuAndItem
  23483. MenuBar->GetMenuAndItem
  23484. æT Class Method
  23485. æD void GetMenuAndItem(
  23486. ODCommandID command,
  23487. ODMenuID& menu,
  23488. ODMenuItemID& menuItem);
  23489.  
  23490. æC Protection
  23491.     Public.  
  23492.  
  23493. Override policy
  23494.     Derived class can override.
  23495.     Derived class can call base class behavior, during derived class behavior.
  23496.  
  23497. Basic operation
  23498. Given a command ID, returns the menu and item for that command,
  23499. registered or synthetic.
  23500.  
  23501. Inputs
  23502. command
  23503.     The command to "decompose"
  23504.  
  23505. Outputs
  23506. menu
  23507.     The associated menu
  23508. menuItem
  23509.     The associated menu item
  23510.  
  23511. Exceptions Signalled
  23512. None.
  23513.  
  23514. Pre conditions
  23515. A valid initialized instance.
  23516.  
  23517. Post conditions
  23518. No effect on this instance.
  23519.  
  23520. æKY ODMenuBar::InitMenuBar
  23521. MenuBar::InitMenuBar
  23522. MenuBar->InitMenuBar
  23523. æT Class Method
  23524. æD InitMenuBar(
  23525. ODSession* session,
  23526. ODPlatformMenuBar menuBar);
  23527.  
  23528. æC Protection
  23529.     Public.  Part editors usually call ODWindowState::CopyBaseMenuBar()
  23530.  
  23531. Override policy
  23532.     Derived class cannot override.
  23533.     Derived class cannot call base class behavior, during derived class behavior.
  23534.  
  23535. Basic operation
  23536. Initializes the menu bar object. Must be called immediately after
  23537. new(). 
  23538.  
  23539. Inputs
  23540. session
  23541.     The OpenDoc session object.
  23542. menuBar
  23543.     The shared systen-wide menu bar handle
  23544.  
  23545. Outputs
  23546. None.
  23547.  
  23548. Exceptions Signalled
  23549. None.
  23550.  
  23551. Pre conditions
  23552. None.
  23553.  
  23554. Post conditions
  23555. None.
  23556.  
  23557. æKY ODMenuBar::IsCommandRegistered
  23558. MenuBar::IsCommandRegistered
  23559. MenuBar->IsCommandRegistered
  23560. æT Class Method
  23561. æD ODBoolean IsCommandRegistered(
  23562. ODCommandID command);
  23563.  
  23564. æC Protection
  23565.     Public.  
  23566.  
  23567. Override policy
  23568.     Derived class can override.
  23569.     Derived class can call base class behavior, during derived class behavior.
  23570.  
  23571. Basic operation
  23572. Returns kODTrue of the specified command ID is registered in this menu
  23573. bar.
  23574.  
  23575. Inputs
  23576. command
  23577.     The command ID to check
  23578.  
  23579. Outputs
  23580. <return>
  23581.     kODTrue, if the command is registered, otherwise kODFalse
  23582.  
  23583. Exceptions Signalled
  23584. None.
  23585.  
  23586. Pre conditions
  23587. A valid initialized instance
  23588.  
  23589. Post conditions
  23590. No effect on this instance.
  23591.  
  23592. æKY ODMenuBar::IsCommandSynthetic
  23593. MenuBar::IsCommandSynthetic
  23594. MenuBar->IsCommandSynthetic
  23595. æT Class Method
  23596. æD ODBoolean IsCommandSynthetic(
  23597. ODCommandID command);
  23598.  
  23599. æC Protection
  23600.     Public.  
  23601.  
  23602. Override policy
  23603.     Derived class can override.
  23604.     Derived class can call base class behavior, during derived class behavior.
  23605.  
  23606. Basic operation
  23607. Returns kODTrue if the specified command ID is synthetic, i.e. one
  23608. manufactured from the menu and item IDs.
  23609.  
  23610. Inputs
  23611. command
  23612.     The command ID to check
  23613.  
  23614. Outputs
  23615. <result>
  23616.     kODTrue, if the command is synthetic.
  23617.  
  23618. Exceptions Signalled
  23619. None.
  23620.  
  23621. Pre conditions
  23622. A valid initialized instance
  23623.  
  23624. Post conditions
  23625. No effect on this instance.
  23626.  
  23627. æKY ODMenuBar::IsValid
  23628. MenuBar::IsValid
  23629. MenuBar->IsValid
  23630. æT Class Method
  23631. æD ODBoolean IsValid();
  23632.  
  23633. æC Protection
  23634.     Public.  Must be called by parts.
  23635.  
  23636. Override policy
  23637.     Derived class can override.
  23638.     Derived class can call base class behavior, during derived class behavior.
  23639.  
  23640. Basic operation
  23641. Returns kODTrue if the base menu bar has changed since this one was
  23642. copied from the base menu bar. Parts shoould check this before
  23643. displaying the menu bar, and recopy if necessary.
  23644.  
  23645. Inputs
  23646. None.
  23647.  
  23648. Outputs
  23649. <return>
  23650.     kODTrue, if the base menu bar has changed
  23651.  
  23652. Exceptions Signalled
  23653. None.
  23654.  
  23655. Pre conditions
  23656. A valid initialized menu bar  instance
  23657.  
  23658. Post conditions
  23659. Result contains true if the base menu bar has changed since this one
  23660.  
  23661. æKY ODMenuBar::Purge
  23662. MenuBar::Purge
  23663. MenuBar->Purge
  23664. æT Class Method
  23665. æD ODSize Purge(
  23666. ODSize size);
  23667.  
  23668. æC Protection
  23669.     Public.  
  23670.  
  23671. Override policy
  23672.     Derived class can override.
  23673.     Derived class can call base class behavior, during derived class behavior.
  23674.  
  23675. Basic operation
  23676. Tries to free up some  memory
  23677.  
  23678. Inputs
  23679. size
  23680.     The amount of memory requested
  23681.  
  23682. Outputs
  23683. <return>
  23684.     The amount of memory freed.
  23685.  
  23686. Exceptions Signalled
  23687. None.
  23688.  
  23689. Pre conditions
  23690. Constructed and initialized object.
  23691.  
  23692. Post conditions
  23693. Some internal structures which are readily rebuilt may have been
  23694. freed.
  23695.  
  23696. æKY ODMenuBar::RegisterCommand
  23697. MenuBar::RegisterCommand
  23698. MenuBar->RegisterCommand
  23699. æT Class Method
  23700. æD void RegisterCommand(
  23701. ODCommandID command,
  23702. ODMenuID menu,
  23703. ODMenuItemID menuItem);
  23704.  
  23705. æC Protection
  23706.     Public.  
  23707.  
  23708. Override policy
  23709.     Derived class can override.
  23710.     Derived class can call base class behavior, during derived class behavior.
  23711.  
  23712. Basic operation
  23713. Associates a Command ID with a specifed menu and menu item. 
  23714.  
  23715. Inputs
  23716. command
  23717.     A 32-bit command number
  23718. menu
  23719.     A menu ID
  23720. menuItem
  23721.     A menu item number
  23722.  
  23723. Outputs
  23724. None.
  23725.  
  23726. Exceptions Signalled
  23727. None.
  23728.  
  23729. Pre conditions
  23730. A valid initialized instance.
  23731.  
  23732. Post conditions
  23733. The command/(menu,item) association is added to a table.
  23734.  
  23735. æKY ODMenuBar::Release
  23736. MenuBar::Release
  23737. MenuBar->Release
  23738. æT Class Method
  23739. æD void Release();
  23740.  
  23741. æC Protection
  23742.     Public.  
  23743.  
  23744. Override policy
  23745.     Derived class can override.
  23746.     Derived class can call base class behavior, during derived class behavior.
  23747.  
  23748. Basic operation
  23749. Overridden to delete this object if the reference count has gone to
  23750. zero.
  23751.  
  23752. Inputs
  23753. None
  23754.  
  23755. Outputs
  23756. None
  23757.  
  23758. Exceptions Signalled
  23759. None.
  23760.  
  23761. Pre conditions
  23762. ???
  23763.  
  23764. Post conditions
  23765. ???
  23766.  
  23767. æKY ODMenuBar::RemoveMenu
  23768. MenuBar::RemoveMenu
  23769. MenuBar->RemoveMenu
  23770. æT Class Method
  23771. æD void RemoveMenu(
  23772. ODMenuID menu);
  23773.  
  23774. æC Protection
  23775.     Public.  
  23776.  
  23777. Override policy
  23778.     Derived class can override.
  23779.     Derived class can call base class behavior, during derived class behavior.
  23780.  
  23781. Basic operation
  23782. Removes the menu with the specified ID. The diplayed menu bar is not
  23783. affected.
  23784.  
  23785. Inputs
  23786. menu
  23787.     The id of the menu to remove
  23788.  
  23789. Outputs
  23790. None.
  23791.  
  23792. Exceptions Signalled
  23793. None.
  23794.  
  23795. Pre conditions
  23796. A valid initialized instance.
  23797.  
  23798. Post conditions
  23799. The menu is no longer in this menu bar. The diplayed menu bar is not
  23800. affected.
  23801.  
  23802. æKY ODMenuBar::SetItemString
  23803. MenuBar::SetItemString
  23804. MenuBar->SetItemString
  23805. æT Class Method
  23806. æD void SetItemString(
  23807. ODCommandID cmdNumber,
  23808. ConstStr255Param itemString);
  23809.  
  23810. æC Protection
  23811.     Public.  
  23812.  
  23813. Override policy
  23814.     Derived class can override.
  23815.     Derived class can call base class behavior, during derived class behavior.
  23816.  
  23817. Basic operation
  23818. Sets the text of the specified menu item.
  23819.  
  23820. Inputs
  23821. cmdNumber
  23822.     The menu item to change
  23823. itemString
  23824.     The desired text for the specified menu item
  23825.  
  23826. Outputs
  23827. None.
  23828.  
  23829. Exceptions Signalled
  23830. None.
  23831.  
  23832. Pre conditions
  23833. None.
  23834.  
  23835. Post conditions
  23836. None.
  23837.  
  23838. æKY ODMenuBar::UnregisterAll
  23839. MenuBar::UnregisterAll
  23840. MenuBar->UnregisterAll
  23841. æT Class Method
  23842. æD void UnregisterAll();
  23843.  
  23844. æC Protection
  23845.     Public.  
  23846.  
  23847. Override policy
  23848.     Derived class can override.
  23849.     Derived class can call base class behavior, during derived class behavior.
  23850.  
  23851. Basic operation
  23852. Unregisters all command numbers in this menu bar.
  23853.  
  23854. Inputs
  23855. None.
  23856.  
  23857. Outputs
  23858. None.
  23859.  
  23860. Exceptions Signalled
  23861. None.
  23862.  
  23863. Pre conditions
  23864. A valid initialized instance
  23865.  
  23866. Post conditions
  23867. No Command IDs are registered in this menu bar.
  23868.  
  23869. æKY ODMenuBar::UnregisterCommand
  23870. MenuBar::UnregisterCommand
  23871. MenuBar->UnregisterCommand
  23872. æT Class Method
  23873. æD void UnregisterCommand(
  23874. ODCommandID command);
  23875.  
  23876. æC Protection
  23877.     Public.  
  23878.  
  23879. Override policy
  23880.     Derived class can override.
  23881.     Derived class can call base class behavior, during derived class behavior.
  23882.  
  23883. Basic operation
  23884. Remove the association between the specified command ID and its menu
  23885. and item.
  23886.  
  23887. Inputs
  23888. command
  23889.     A command ID
  23890.  
  23891. Outputs
  23892. None.
  23893.  
  23894. Exceptions Signalled
  23895. None.
  23896.  
  23897. Pre conditions
  23898. A valid initialized instance.
  23899.  
  23900. Post conditions
  23901. The association is removed.
  23902.  
  23903.  
  23904. æKY ODMessageInterfaceHelp
  23905. ODMessageInterface
  23906. MessageInterface
  23907. æKL ODMessageInterface::ODMessageInterface
  23908. ODMessageInterface::~ODMessageInterface
  23909. ODMessageInterface::CreateEvent
  23910. ODMessageInterface::CreatePartAddrDesc
  23911. ODMessageInterface::CreatePartObjSpec
  23912. ODMessageInterface::InitMessageInterface
  23913. ODMessageInterface::ProcessSemanticEvent
  23914. ODMessageInterface::Purge
  23915. ODMessageInterface::Send
  23916. ODMessageInterface::fTransactionTable
  23917. æC Basic Class Documentation
  23918. This class encapsulates AppleEvent message sending functionality. It
  23919. works in concert with the ODSemanticInterface class. The ODSession
  23920. object allows access to an instance of this object for any clients who
  23921. wish to use it. The platform vendor will implement. ODMessageInterface
  23922. is a subclass of ODObject.
  23923.  
  23924. A minimum of documentation is given for functions that have
  23925. counterparts in the AppleEvent Manager. Only differences are pointed
  23926. out.
  23927. The OSErr return value normally returned by these functions will
  23928. instead be signalled via an exception should it not be equal to noErr.
  23929. Only exceptions that are different from, or exceptions that occur in
  23930. addition to the normal AppleEvent exceptions, are documented.
  23931.  
  23932. Theory of Operation
  23933. The functions of this class are direct counterparts to the associated
  23934. AppleEvent functions. AppleEvents will be used to implement the member
  23935. functions of this class. An extra parameter or type ODPart has been
  23936. added to many of the functions. This is used to specify the context
  23937. that should be used when performing the function. A special value of
  23938. ODPart*, kODAppShell is used to denote the application shell "part".
  23939.  
  23940. Invariants Maintained by Class
  23941. None.
  23942. æKY ODMessageInterface::ODMessageInterface
  23943. MessageInterface::ODMessageInterface
  23944. MessageInterface->ODMessageInterface
  23945. æT Class Method
  23946. æD ODMessageInterface();
  23947.  
  23948. æC Protection
  23949.     Private.  Should only be called by ODSession
  23950.  
  23951. Override policy
  23952.     Derived class cannot override.
  23953.     Derived class cannot call base class behavior.
  23954.  
  23955. Basic operation
  23956. Initialize the object.
  23957.  
  23958. Inputs
  23959. session
  23960.     The session that contains this MessageInterface object
  23961.  
  23962. Outputs
  23963. None.
  23964.  
  23965. Exceptions Signalled
  23966. None.
  23967.  
  23968. Pre conditions
  23969. None.
  23970.  
  23971. Post conditions
  23972. Object is instantiated.
  23973.  
  23974. æKY ODMessageInterface::~ODMessageInterface
  23975. MessageInterface::~ODMessageInterface
  23976. MessageInterface->~ODMessageInterface
  23977. æT Class Method
  23978. æD ODVMethod ~ODMessageInterface();
  23979.  
  23980. æC Protection
  23981.     Private.  Should only be called by ODSession
  23982.  
  23983. Override policy
  23984.     Derived class cannot override.
  23985.     Derived class cannot call base class behavior.
  23986.  
  23987. Basic operation
  23988. Destroy the object.
  23989.  
  23990. Inputs
  23991. None.
  23992.  
  23993. Outputs
  23994. None.
  23995.  
  23996. Exceptions Signalled
  23997. None.
  23998.  
  23999. Pre conditions
  24000. None.
  24001.  
  24002. Post conditions
  24003. Object is destroyed.
  24004.  
  24005. æKY ODMessageInterface::CreateEvent
  24006. MessageInterface::CreateEvent
  24007. MessageInterface->CreateEvent
  24008. æT Class Method
  24009. æD virtual void CreateEvent(
  24010. AEEventClass theAEEventClass,
  24011. AEEventID theAEEventID,
  24012. AEAddressDesc target,
  24013. ODSLong transactionID,
  24014. AppleEvent* result);
  24015.  
  24016. æC Protection
  24017.     Public.  
  24018.  
  24019. Override policy
  24020.     Derived class cannot override.
  24021.     Derived class cannot call base class behavior.
  24022.  
  24023. Basic operation
  24024. See AppleEvent Manager documentation. The returnID parameter has been
  24025. removed since OpenDoc will use this to track the origin of a Send.
  24026.  
  24027. Inputs
  24028. theAEEventClass
  24029.     <See AppleEvent Manager documentation>
  24030. theAEEventID
  24031.     <See AppleEvent Manager documentation>
  24032. target
  24033.     <See AppleEvent Manager documentation>
  24034. transactionID
  24035.     <See AppleEvent Manager documentation>
  24036.  
  24037. Outputs
  24038. result
  24039.     Apple event created
  24040. <return>
  24041.     The return id assigned to this event.
  24042.  
  24043. Exceptions Signalled
  24044. kODOutOfMemory
  24045.     Couldn't allocate memory for the event.
  24046. others
  24047.     <See AppleEvent Manager documentation>
  24048.  
  24049. Pre conditions
  24050. None.
  24051.  
  24052. Post conditions
  24053. An event will be created.
  24054.  
  24055. æKY ODMessageInterface::CreatePartAddrDesc
  24056. MessageInterface::CreatePartAddrDesc
  24057. MessageInterface->CreatePartAddrDesc
  24058. æT Class Method
  24059. æD ODVMethod void CreatePartAddrDesc(
  24060. AEDesc*        theAddressDesc,
  24061. ODPart*    thePart);
  24062.  
  24063. æC Protection
  24064.     Public.  
  24065.  
  24066. Override policy
  24067.     Derived class cannot override.
  24068.     Derived class cannot call base class behavior.
  24069.  
  24070. Basic operation
  24071. Create an address descriptor to be used when sending events to the
  24072. part in question.
  24073.  
  24074. Inputs
  24075. thePart
  24076.     The ODPart* to be addressed.
  24077.  
  24078. Outputs
  24079. theAddressDesc
  24080.     The descriptor to be initialized.
  24081.  
  24082. Exceptions Signalled
  24083. kXODErrNotAValidPart
  24084.     ODPart* was not valid.
  24085.  
  24086. Pre conditions
  24087. None.
  24088.  
  24089. Post conditions
  24090. The address descriptor is initialized.
  24091.  
  24092. æKY ODMessageInterface::CreatePartObjSpec
  24093. MessageInterface::CreatePartObjSpec
  24094. MessageInterface->CreatePartObjSpec
  24095. æT Class Method
  24096. æD ODVMethod void CreatePartObjSpec(
  24097. AEDesc* theObjSpec,
  24098. ODPart* thePart);
  24099.  
  24100. æC Protection
  24101.     Public.  
  24102.  
  24103. Override policy
  24104.     Derived class cannot override.
  24105.     Derived class cannot call base class behavior.
  24106.  
  24107. Basic operation
  24108. Creates an object specifier that can be used to refer to the part in
  24109. question. Should not be stored persistently. Is only valid while the
  24110. ODPart is instantiated.
  24111.  
  24112. Inputs
  24113. thePart
  24114.     The part for which an object specifier will be constructed.
  24115.  
  24116. Outputs
  24117. theObjSpec
  24118.     The object specifier to be initialized
  24119.  
  24120. Exceptions Signalled
  24121. kXODErrNotAValidPart
  24122.     ODPart* was not valid.
  24123.  
  24124. Pre conditions
  24125. None.
  24126.  
  24127. Post conditions
  24128. The object specifier is initialized
  24129.  
  24130. æKY ODMessageInterface::InitMessageInterface
  24131. MessageInterface::InitMessageInterface
  24132. MessageInterface->InitMessageInterface
  24133. æT Class Method
  24134. æD void InitMessageInterface(
  24135. ODSession* session);
  24136.  
  24137. æC Protection
  24138.     Private.  Should only be called by ODSession.
  24139.  
  24140. Override policy
  24141.     Derived class cannot override.
  24142.     Derived class cannot call base class behavior.
  24143.  
  24144. Basic operation
  24145. Initializes the object.
  24146.  
  24147. Inputs
  24148. session
  24149.     A reference to the ODSession object.
  24150.  
  24151. Outputs
  24152. None.
  24153.  
  24154. Exceptions Signalled
  24155. kODOutOfMemory
  24156.     Not enough memory for needed storage.
  24157.  
  24158. Pre conditions
  24159. None.
  24160.  
  24161. Post conditions
  24162. Reply handler, event handler and coercion handler installed.
  24163.  
  24164. æKY ODMessageInterface::ProcessSemanticEvent
  24165. MessageInterface::ProcessSemanticEvent
  24166. MessageInterface->ProcessSemanticEvent
  24167. æT Class Method
  24168. æD virtual ODBoolean ProcessSemanticEvent(
  24169. const ODEventData* theEvent);
  24170.  
  24171. æC Protection
  24172.     Public.  Probably only called from an ODDispatchModule.
  24173.  
  24174. Override policy
  24175.     Derived class cannot override.
  24176.     Derived class cannot call base class behavior.
  24177.  
  24178. Basic operation
  24179. See AppleEvent Manager documentation. This function is similiar to
  24180. AEProcessAppleEvent, but it may not call AEProcessAppleEvent at all.
  24181. It is responsible to for dispatching a semantic event to the correct
  24182. object and using the corrent ODSemanticInterface object owned by that
  24183. object for further dispatching. The object will either be the
  24184. application shell / document or a part.
  24185.  
  24186. Inputs
  24187. theEvent
  24188.     <See AppleEvent Manager documentation>
  24189.  
  24190. Outputs
  24191. <return>
  24192.     Whether the event was processed.
  24193.  
  24194. Exceptions Signalled
  24195. kODEResolveError
  24196.     Couldn't determine correct object to dispatch to.
  24197.  
  24198. Pre conditions
  24199. None.
  24200.  
  24201. Post conditions
  24202. Event will be dispatched.
  24203.  
  24204. æKY ODMessageInterface::Purge
  24205. MessageInterface::Purge
  24206. MessageInterface->Purge
  24207. æT Class Method
  24208. æD ODSize Purge(
  24209. ODSize howMuch);
  24210.  
  24211. æC Protection
  24212.     Public.  
  24213.  
  24214. Override policy
  24215.     Derived class can override.
  24216.     Derived class must call base class behavior.
  24217.  
  24218. Basic operation
  24219. None.
  24220.  
  24221. Inputs
  24222. howMuch
  24223.     Amount of memory requested to be purged.
  24224.  
  24225. Outputs
  24226. <return>
  24227.     Amount of memory that was released.
  24228.  
  24229. Exceptions Signalled
  24230. None.
  24231.  
  24232. Pre conditions
  24233. None.
  24234.  
  24235. Post conditions
  24236. Memory may have been freed.
  24237.  
  24238. æKY ODMessageInterface::Send
  24239. MessageInterface::Send
  24240. MessageInterface->Send
  24241. æT Class Method
  24242. æD virtual ODSShort Send(
  24243. ODPart* thePart,
  24244. AppleEvent* theAppleEvent,
  24245. AppleEvent* reply,
  24246. AESendMode sendMode,
  24247. AESendPriority sendPriority,
  24248. ODULong timeOutInTicks);
  24249.  
  24250. æC Protection
  24251.     Public.  
  24252.  
  24253. Override policy
  24254.     Derived class cannot override.
  24255.     Derived class cannot call base class behavior.
  24256.  
  24257. Basic operation
  24258. See AppleEvent Manager documentation. The ODPart* parameter specifies
  24259. the sender of the event. OpenDoc handles events and idle time, so
  24260. these callbacks are unnecessary.
  24261.  
  24262. Inputs
  24263. thePart
  24264.     The sending ODPart or kODAppShell if the sender is the application
  24265. shell / document.
  24266. theAppleEvent
  24267.     <See AppleEvent Manager documentation>
  24268. sendMode
  24269.     <See AppleEvent Manager documentation>
  24270. sendPriority
  24271.     <See AppleEvent Manager documentation>
  24272. timeOutInTicks
  24273.     <See AppleEvent Manager documentation>
  24274.  
  24275. Outputs
  24276. reply
  24277.     <See AppleEvent Manager documentation>
  24278.  
  24279. Exceptions Signalled
  24280. kODEInvalidPart
  24281.     Invalid part.
  24282. kODEInvalidSemanticEvent
  24283.     Invalid AppleEvent (not created with ODMessageInterface::CreateEvent
  24284. ).
  24285. others
  24286.     <See AppleEvent Manager documentation>
  24287.  
  24288. Pre conditions
  24289. A valid AppleEvent created by ODMessageInterface::CreateEvent is
  24290. required.
  24291.  
  24292. Post conditions
  24293. Event will be sent.
  24294.  
  24295. æKY ODMessageInterface::fTransactionTable
  24296. MessageInterface::fTransactionTable
  24297. æT Class Field
  24298. æD ODTransationTable* fTransactionTable;
  24299. æC 
  24300.  
  24301. æKY ODNameResolverHelp
  24302. ODNameResolver
  24303. NameResolver
  24304. æKL ODNameResolver::ODNameResolver
  24305. ODNameResolver::~ODNameResolver
  24306. ODNameResolver::CallObjectAccessor
  24307. ODNameResolver::CreateSwapToken
  24308. ODNameResolver::DisposeToken
  24309. ODNameResolver::GetContextFromToken
  24310. ODNameResolver::GetUserToken
  24311. ODNameResolver::InitNameResolver
  24312. ODNameResolver::IsODToken
  24313. ODNameResolver::Purge
  24314. ODNameResolver::Resolve
  24315. æC Basic Class Documentation
  24316. This class encapsulates structured name or object specifier resolution
  24317. functionality. It works in concert with the ODSemanticInterface class.
  24318. The ODSession object allows access to an instance of this object for
  24319. any clients who wish to use it. The platform vendor will implement.
  24320. ODNameResolver is a subclass of ODObject
  24321.  
  24322. A minimum of documentation is given for functions that have
  24323. counterparts in the AppleEvent Manager. Only differences are pointed
  24324. out.
  24325. The OSErr return value normally returned by these functions will
  24326. instead be signalled via an exception should it not be equal to noErr.
  24327. Only exceptions that are different from, or exceptions that occur in
  24328. addition to the normal AppleEvent exceptions, are documented.
  24329.  
  24330. Theory of Operation
  24331. The functions of this class are direct counterparts to the associated
  24332. AppleEvent object model functions. A new version of the OSL, one
  24333. supports "contexts" will be used to implement the member functions of
  24334. this class. Resolution of object specifiers will take into account
  24335. ODParts working as pseudo-applications. This class provides private
  24336. services tothe ODMessageInterface class for getting and setting the
  24337. current context part.
  24338.  
  24339. Invariants Maintained by Class
  24340. None.
  24341. æKY ODNameResolver::ODNameResolver
  24342. NameResolver::ODNameResolver
  24343. NameResolver->ODNameResolver
  24344. æT Class Method
  24345. æD ODNameResolver();
  24346.  
  24347. æC Protection
  24348.     Private.  Only to be called by ODSession.
  24349.  
  24350. Override policy
  24351.     Derived class cannot override.
  24352.     Derived class cannot call base class behavior.
  24353.  
  24354. Basic operation
  24355. Constructs class.
  24356.  
  24357. Inputs
  24358. None
  24359.  
  24360. Outputs
  24361. None
  24362.  
  24363. Exceptions Signalled
  24364. None.
  24365.  
  24366. Pre conditions
  24367. None.
  24368.  
  24369. Post conditions
  24370. Object is created.
  24371.  
  24372. æKY ODNameResolver::~ODNameResolver
  24373. NameResolver::~ODNameResolver
  24374. NameResolver->~ODNameResolver
  24375. æT Class Method
  24376. æD virtual ~ODNameResolver();
  24377.  
  24378. æC Protection
  24379.     Private.  Only to be called by ODSession.
  24380.  
  24381. Override policy
  24382.     Derived class cannot override.
  24383.     Derived class cannot call base class behavior.
  24384.  
  24385. Basic operation
  24386. Destroys object.
  24387.  
  24388. Inputs
  24389. None
  24390.  
  24391. Outputs
  24392. None
  24393.  
  24394. Exceptions Signalled
  24395. None.
  24396.  
  24397. Pre conditions
  24398. None.
  24399.  
  24400. Post conditions
  24401. Object is destroyed.
  24402.  
  24403. æKY ODNameResolver::CallObjectAccessor
  24404. NameResolver::CallObjectAccessor
  24405. NameResolver->CallObjectAccessor
  24406. æT Class Method
  24407. æD virtual void CallObjectAccessor(
  24408. ODPart* part,
  24409. DescType desiredClass,
  24410. ODOSLToken* containerToken,
  24411. DescType containerClass,
  24412. DescType keyForm,
  24413. AEDesc* keyData,
  24414. ODOSLToken* token);
  24415.  
  24416. æC Protection
  24417.     Public.  
  24418.  
  24419. Override policy
  24420.     Derived class cannot override.
  24421.     Derived class cannot call base class behavior.
  24422.  
  24423. Basic operation
  24424. See AppleEvent Manager documentation for AECallObjectAccessor. part is
  24425. the part whose accessor is to be called.
  24426.  
  24427. Inputs
  24428. part
  24429.     The part containing desired object accessor.
  24430. desiredClass
  24431.     The object class of the desired Apple event objects.
  24432. containerToken
  24433.     The token that identifies the container for the desired objects.
  24434. containerClass
  24435.     The object class of the container for the desired objects.
  24436. keyForm
  24437.     The key form specified by the object specifier record for the object
  24438. or objects to be located.
  24439. keyData
  24440.     The key data specified by the object specifier record for the object
  24441. or objects to be located.
  24442. token
  24443.     The token returned by the object accessor call.
  24444.  
  24445. Outputs
  24446. None
  24447.  
  24448. Exceptions Signalled
  24449. See
  24450.     AppleEvent Mgr documentation. 
  24451.  
  24452. Pre conditions
  24453. None.
  24454.  
  24455. Post conditions
  24456. Whatever side effects the invocation of the accessor produces.
  24457.  
  24458. æKY ODNameResolver::CreateSwapToken
  24459. NameResolver::CreateSwapToken
  24460. NameResolver->CreateSwapToken
  24461. æT Class Method
  24462. æD ;
  24463.  
  24464. æC Protection
  24465.     Public.  
  24466.  
  24467. Override policy
  24468.     Derived class cannot override.
  24469.     Derived class cannot call base class behavior.
  24470.  
  24471. Basic operation
  24472. Construct an AppleEvent token that encodes an ODFrame and an ODPart.
  24473.  
  24474. Inputs
  24475. frame
  24476.     The ODFrame represented by this token. May be kODNULL if the part has
  24477. not display frames.
  24478. part
  24479.     The part to which the frame belongs.
  24480.  
  24481. Outputs
  24482. token
  24483.     The token constructed.
  24484.  
  24485. Exceptions Signalled
  24486. kODErrOutOfMemory
  24487.     Out of Memory
  24488.  
  24489. Pre conditions
  24490. None.
  24491.  
  24492. Post conditions
  24493. A new token is constructed.
  24494.  
  24495. æKY ODNameResolver::DisposeToken
  24496. NameResolver::DisposeToken
  24497. NameResolver->DisposeToken
  24498. æT Class Method
  24499. æD virtual void DisposeToken(
  24500. ODOSLToken* theToken);
  24501.  
  24502. æC Protection
  24503.     Public.  
  24504.  
  24505. Override policy
  24506.     Derived class cannot override.
  24507.     Derived class cannot call base class behavior.
  24508.  
  24509. Basic operation
  24510. See AppleEvent Object Model documentation.
  24511.  
  24512. Inputs
  24513. theToken
  24514.     The token to dispose.
  24515.  
  24516. Outputs
  24517. None.
  24518.  
  24519. Exceptions Signalled
  24520. kODErrInvalidPart
  24521.     Token does not contain a valid part description.
  24522.  
  24523. Pre conditions
  24524. None.
  24525.  
  24526. Post conditions
  24527. Token is destroyed.
  24528.  
  24529. æKY ODNameResolver::GetContextFromToken
  24530. NameResolver::GetContextFromToken
  24531. NameResolver->GetContextFromToken
  24532. æT Class Method
  24533. æD 
  24534.  
  24535. æC Protection
  24536.     Public.  
  24537.  
  24538. Override policy
  24539.     Derived class cannot override.
  24540.     Derived class cannot call base class behavior.
  24541.  
  24542. Basic operation
  24543. Get the context in which this ODOSLToken was created. The part
  24544. returned by this represents the part that knows how to interpret this
  24545. token. frame represents the display frame of the part for which this
  24546. token makes sense (for parts with multiple display frames)
  24547.  
  24548. Inputs
  24549. token
  24550.     The token of interest
  24551.  
  24552. Outputs
  24553. part
  24554.     the part corresponding to this token.
  24555. frame
  24556.     the frame corresponding to this token.
  24557.  
  24558. Exceptions Signalled
  24559. None.
  24560.  
  24561. Pre conditions
  24562. None.
  24563.  
  24564. Post conditions
  24565. None.
  24566.  
  24567. æKY ODNameResolver::GetUserToken
  24568. NameResolver::GetUserToken
  24569. NameResolver->GetUserToken
  24570. æT Class Method
  24571. æD 
  24572.  
  24573. æC Protection
  24574.     Public.  
  24575.  
  24576. Override policy
  24577.     Derived class cannot override.
  24578.     Derived class cannot call base class behavior.
  24579.  
  24580. Basic operation
  24581. Get a reference to a ODDesc that can be used to store private data.
  24582.  
  24583. Inputs
  24584. token
  24585.     The OpenDoc token
  24586.  
  24587. Outputs
  24588. userToken
  24589.     A reference to an ODDesc that can be used to store private data.
  24590.  
  24591. Exceptions Signalled
  24592. None.
  24593.  
  24594. Pre conditions
  24595. None.
  24596.  
  24597. Post conditions
  24598. None.
  24599.  
  24600. æKY ODNameResolver::InitNameResolver
  24601. NameResolver::InitNameResolver
  24602. NameResolver->InitNameResolver
  24603. æT Class Method
  24604. æD void InitNameResolver(
  24605. ODSession* session);
  24606.  
  24607. æC Protection
  24608.     Private.  Should only be called by ODSession.
  24609.  
  24610. Override policy
  24611.     Derived class cannot override.
  24612.     Derived class cannot call base class behavior.
  24613.  
  24614. Basic operation
  24615. Initializes the object.
  24616.  
  24617. Inputs
  24618. None.
  24619.  
  24620. Outputs
  24621. None.
  24622.  
  24623. Exceptions Signalled
  24624. None.
  24625.  
  24626. Pre conditions
  24627. None.
  24628.  
  24629. Post conditions
  24630. The object is initialized.
  24631.  
  24632. æKY ODNameResolver::IsODToken
  24633. NameResolver::IsODToken
  24634. NameResolver->IsODToken
  24635. æT Class Method
  24636. æD 
  24637.  
  24638. æC Protection
  24639.     Public.  
  24640.  
  24641. Override policy
  24642.     Derived class cannot override.
  24643.     Derived class cannot call base class behavior.
  24644.  
  24645. Basic operation
  24646. Check to see whether an ODDesc is actually a token or not. If it is an
  24647. OpenDoc token, the methods SetUserToken, GetUserToken and
  24648. GetContextFromToken can be called with that ODDesc as the ODOSLToken
  24649. parameter
  24650.  
  24651. Inputs
  24652. desc
  24653.     The ODDesc of interest
  24654.  
  24655. Outputs
  24656. <return>
  24657.     Whether or not the ODDesc is an ODOSLToken.
  24658.  
  24659. Exceptions Signalled
  24660. None.
  24661.  
  24662. Pre conditions
  24663. None.
  24664.  
  24665. Post conditions
  24666. None.
  24667.  
  24668. æKY ODNameResolver::Purge
  24669. NameResolver::Purge
  24670. NameResolver->Purge
  24671. æT Class Method
  24672. æD ODSize Purge(
  24673. ODSize howMuch);
  24674.  
  24675. æC Protection
  24676.     Public.  
  24677.  
  24678. Override policy
  24679.     Derived class cannot override.
  24680.     Derived class cannot call base class behavior.
  24681.  
  24682. Basic operation
  24683. Free unused memory.
  24684.  
  24685. Inputs
  24686. howMuch
  24687.     The memory requested to be freed.
  24688.  
  24689. Outputs
  24690. Return
  24691.     The amount of memory that was freed.
  24692.  
  24693. Exceptions Signalled
  24694. None.
  24695.  
  24696. Pre conditions
  24697. None.
  24698.  
  24699. Post conditions
  24700. Some memory may have been freed.
  24701.  
  24702. æKY ODNameResolver::Resolve
  24703. NameResolver::Resolve
  24704. NameResolver->Resolve
  24705. æT Class Method
  24706. æD virtual ODPart* Resolve(
  24707. ODObjectSpec* theObject,
  24708. ODOSLToken* token,
  24709. ODPart* contextPart);
  24710.  
  24711. æC Protection
  24712.     Public.  
  24713.  
  24714. Override policy
  24715.     Derived class cannot override.
  24716.     Derived class cannot call base class behavior.
  24717.  
  24718. Basic operation
  24719. See AppleEvent Object Model documentation for AEResolve. A new type,
  24720. ODOSLToken is used for the token instead of an AEDesc. The fields of
  24721. the struct are exactly the same however. The extra ODPart* parameter
  24722. is used to describe the context of the resolution, i.e., the part who
  24723. is making the call.
  24724.  
  24725. Inputs
  24726. theObject
  24727.     The object specifier to be resolved.
  24728. contextPart
  24729.     The part from which the call is being made.
  24730.  
  24731. Outputs
  24732. token
  24733.     The final token produced by the resolution.
  24734.  
  24735. Exceptions Signalled
  24736. kODOutOfMemory
  24737.     Couldn't allocate needed internal structures. 
  24738. errAENoSuchObject
  24739.     Invalid ODPart* or part does not support the Semantic Interface
  24740. extension.
  24741. Others
  24742.     Parts and the OSL  may generate exceptions. These exceptions may be
  24743. returned by Resolve.
  24744.  
  24745. Pre conditions
  24746. None.
  24747.  
  24748. Post conditions
  24749. A new token will have been created for the object described in
  24750. theObject. Many part-specific routines will be called back to.
  24751.  
  24752.  
  24753. æKY ODNameSpaceHelp
  24754. ODNameSpace
  24755. NameSpace
  24756. æKL ODNameSpace::ODNameSpace
  24757. ODNameSpace::~ODNameSpace
  24758. ODNameSpace::Exists
  24759. ODNameSpace::GetName
  24760. ODNameSpace::GetParent
  24761. ODNameSpace::GetType
  24762. ODNameSpace::InitNameSpace
  24763. ODNameSpace::ReadFromFile
  24764. ODNameSpace::ReadFromStorage
  24765. ODNameSpace::SetType
  24766. ODNameSpace::Unregister
  24767. ODNameSpace::WriteToFile
  24768. ODNameSpace::WriteToStorage
  24769. æC Basic Class Documentation
  24770. This class represents a name space. Objects of this class are created
  24771. by member functions of the ODNameSpaceManager class. The platform
  24772. vendor will implement. ODNameSpace is a subclass of ODObject.
  24773.  
  24774. Theory of Operation
  24775. This class allows registering ODPtrs with three different types of
  24776. keys: ODISOStr, ODOSType and ODSLong. Values are hashed for quick
  24777. lookup.
  24778.  
  24779. Invariants Maintained by Class
  24780. There is always a valid hash table instantiated to hold the key/value
  24781. pairs. It may be empty.
  24782. æKY ODNameSpace::ODNameSpace
  24783. NameSpace::ODNameSpace
  24784. NameSpace->ODNameSpace
  24785. æT Class Method
  24786. æD ODNameSpace();
  24787.  
  24788. æC Protection
  24789.     Private.  Only called by ODNameSpaceManager::CreateNameSpace.
  24790.  
  24791. Override policy
  24792.     Derived class cannot override.
  24793.     Derived class cannot call base class behavior, during derived class behavior.
  24794.  
  24795. Basic operation
  24796. Initialize an ODNameSpace class
  24797.  
  24798. Inputs
  24799. None.
  24800.  
  24801. Outputs
  24802. None
  24803.  
  24804. Exceptions Signalled
  24805. None.
  24806.  
  24807. Pre conditions
  24808. None.
  24809.  
  24810. Post conditions
  24811. A new ODNameSpace class will be created.
  24812.  
  24813. æKY ODNameSpace::~ODNameSpace
  24814. NameSpace::~ODNameSpace
  24815. NameSpace->~ODNameSpace
  24816. æT Class Method
  24817. æD virtual ~ODNameSpace();
  24818.  
  24819. æC Protection
  24820.     Private.  Called only by ODNameSpaceManager::DeleteNameSpace.
  24821.  
  24822. Override policy
  24823.     Derived class cannot override.
  24824.     Derived class cannot call base class behavior, during derived class behavior.
  24825.  
  24826. Basic operation
  24827. Destroys the ODNameSpace object and any associated storage.
  24828.  
  24829. Inputs
  24830. None
  24831.  
  24832. Outputs
  24833. None
  24834.  
  24835. Exceptions Signalled
  24836. None.
  24837.  
  24838. Pre conditions
  24839. None.
  24840.  
  24841. Post conditions
  24842. Object all gone.
  24843.  
  24844. æKY ODNameSpace::Exists
  24845. NameSpace::Exists
  24846. NameSpace->Exists
  24847. æT Class Method
  24848. æD virtual ODPtr Exists(
  24849. ODISOStr key);
  24850.  
  24851. æC Protection
  24852.     Public.  
  24853.  
  24854. Override policy
  24855.     Derived class can override.
  24856.     Derived class can call base class behavior, during derived class behavior.
  24857.  
  24858. Basic operation
  24859. Returns boolean for the existance of the given key.
  24860.  
  24861. Inputs
  24862. key
  24863.     The key for the entry requested.
  24864.  
  24865. Outputs
  24866. Boolean
  24867.     True if key exists.
  24868.  
  24869. Exceptions Signalled
  24870. None.
  24871.  
  24872. Pre conditions
  24873. None.
  24874.  
  24875. Post conditions
  24876. None.
  24877.  
  24878. æKY ODNameSpace::GetName
  24879. NameSpace::GetName
  24880. NameSpace->GetName
  24881. æT Class Method
  24882. æD virtual ODISOStr GetName();
  24883.  
  24884. æC Protection
  24885.     Public.  
  24886.  
  24887. Override policy
  24888.     Derived class can override.
  24889.     Derived class can call base class behavior, during derived class behavior.
  24890.  
  24891. Basic operation
  24892. Return the ISO string assigned to this object at initialization time.
  24893.  
  24894. Inputs
  24895. None
  24896.  
  24897. Outputs
  24898. Return
  24899.     name of this name space.
  24900.  
  24901. Exceptions Signalled
  24902. None.
  24903.  
  24904. Pre conditions
  24905. None.
  24906.  
  24907. Post conditions
  24908. None.
  24909.  
  24910. æKY ODNameSpace::GetParent
  24911. NameSpace::GetParent
  24912. NameSpace->GetParent
  24913. æT Class Method
  24914. æD ODNameSpace GetParent();
  24915.  
  24916. æC Protection
  24917.     Public.  
  24918.  
  24919. Override policy
  24920.     Derived class can override.
  24921.     Derived class can call base class behavior, during derived class behavior.
  24922.  
  24923. Basic operation
  24924. None.
  24925.  
  24926. Inputs
  24927. None
  24928.  
  24929. Outputs
  24930. Return
  24931.     partent name space.
  24932.  
  24933. Exceptions Signalled
  24934. None.
  24935.  
  24936. Pre conditions
  24937. None.
  24938.  
  24939. Post conditions
  24940. None.
  24941.  
  24942. æKY ODNameSpace::GetType
  24943. NameSpace::GetType
  24944. NameSpace->GetType
  24945. æT Class Method
  24946. æD ODNSTypeSpec GetType();
  24947.  
  24948. æC Protection
  24949.     Public.  
  24950.  
  24951. Override policy
  24952.     Derived class can override.
  24953.     Derived class can call base class behavior, during derived class behavior.
  24954.  
  24955. Basic operation
  24956. None.
  24957.  
  24958. Inputs
  24959. None
  24960.  
  24961. Outputs
  24962. Return
  24963.     type object name space or value name space.
  24964.  
  24965. Exceptions Signalled
  24966. None.
  24967.  
  24968. Pre conditions
  24969. None.
  24970.  
  24971. Post conditions
  24972. None.
  24973.  
  24974. æKY ODNameSpace::InitNameSpace
  24975. NameSpace::InitNameSpace
  24976. NameSpace->InitNameSpace
  24977. æT Class Method
  24978. æD void Initialize(
  24979. ODNameSpaceManager* mgr,
  24980. ODNameSpace*        parent,
  24981. ODULong             numExpectedEntries,
  24982. ODISOStr            name,
  24983. ODHeap              heap);
  24984.  
  24985. æC Protection
  24986.     Private.  Should only be called by ODNameSpaceManager
  24987.  
  24988. Override policy
  24989.     Derived class cannot override.
  24990.     Derived class cannot call base class behavior.
  24991.  
  24992. Basic operation
  24993. Initializes the object.
  24994.  
  24995. Inputs
  24996. mgr
  24997.     The NameSpaceManager object that this NameSpace belongs to.
  24998. parent
  24999.     An ODNameSpace to search if a GetValue fails in this one.
  25000. numExpectedEntries
  25001.     The number of expected entries.
  25002. name
  25003.     the name to give this ODNameSpace.
  25004. heap
  25005.     The memory heap that this object is to be allocated in.
  25006.  
  25007. Outputs
  25008. None.
  25009.  
  25010. Exceptions Signalled
  25011. kODErrOutOfMemory
  25012.     Out of memory.
  25013.  
  25014. Pre conditions
  25015. None.
  25016.  
  25017. Post conditions
  25018. The object will be initialized.
  25019.  
  25020. æKY ODNameSpace::ReadFromFile
  25021. NameSpace::ReadFromFile
  25022. NameSpace->ReadFromFile
  25023. æT Class Method
  25024. æD void ReadFromFile(
  25025. PlatformFile file);
  25026.  
  25027. æC Protection
  25028.     Public.  
  25029.  
  25030. Override policy
  25031.     Derived class can override.
  25032.     Derived class can call base class behavior, during derived class behavior.
  25033.  
  25034. Basic operation
  25035. Read the name space from the file into this ODNameSpace. Assumes that
  25036. the data was written with WriteToFile. If the name of the name space
  25037. doesn not match that that was stored in the stream, an exception will
  25038. be thrown. It's assumed that the file's cursor has been placed at the
  25039. beginning of the data stream.
  25040.  
  25041. Inputs
  25042. file
  25043.     The file from which to read the data.
  25044.  
  25045. Outputs
  25046. None.
  25047.  
  25048. Exceptions Signalled
  25049. kODErrInvalidName
  25050.     The stored name does not match that of the name space.
  25051.  
  25052. Pre conditions
  25053. Data must have been streamed with WriteToFile.
  25054.  
  25055. Post conditions
  25056. The name space will contain entries corresponding to the streamed
  25057. data.
  25058.  
  25059. æKY ODNameSpace::ReadFromStorage
  25060. NameSpace::ReadFromStorage
  25061. NameSpace->ReadFromStorage
  25062. æT Class Method
  25063. æD void ReadFromStorage(
  25064. ODStorageUnitView* view);
  25065.  
  25066. æC Protection
  25067.     Public.  
  25068.  
  25069. Override policy
  25070.     Derived class can override.
  25071.     Derived class can call base class behavior, during derived class behavior.
  25072.  
  25073. Basic operation
  25074. Read the name space from storage into this ODNameSpace. Assumes that
  25075. the data was written with WriteToStorage. If the name of the name
  25076. space doesn not match that that was stored in the stream, an exception
  25077. will be thrown.
  25078.  
  25079. Inputs
  25080. view
  25081.     The storage unit from which to read the data.
  25082.  
  25083. Outputs
  25084. None.
  25085.  
  25086. Exceptions Signalled
  25087. kODErrInvalidName
  25088.     The stored name does not match that of the name space.
  25089.  
  25090. Pre conditions
  25091. Data must have been streamed with WriteToStorage.
  25092.  
  25093. Post conditions
  25094. The name space will contain entries corresponding to the streamed
  25095. data.
  25096.  
  25097. æKY ODNameSpace::SetType
  25098. NameSpace::SetType
  25099. NameSpace->SetType
  25100. æT Class Method
  25101. æD void SetType(
  25102. ODNSTypeSpec type);
  25103.  
  25104. æC Protection
  25105.     Public.  
  25106.  
  25107. Override policy
  25108.     Derived class can override.
  25109.     Derived class can call base class behavior, during derived class behavior.
  25110.  
  25111. Basic operation
  25112. None.
  25113.  
  25114. Inputs
  25115. type
  25116.     Name space type.
  25117.  
  25118. Outputs
  25119. None
  25120.  
  25121. Exceptions Signalled
  25122. None.
  25123.  
  25124. Pre conditions
  25125. None.
  25126.  
  25127. Post conditions
  25128. None.
  25129.  
  25130. æKY ODNameSpace::Unregister
  25131. NameSpace::Unregister
  25132. NameSpace->Unregister
  25133. æT Class Method
  25134. æD virtual void Unregister(
  25135. ODISOStr key);
  25136.  
  25137. æC Protection
  25138.     Public.  
  25139.  
  25140. Override policy
  25141.     Derived class can override.
  25142.     Derived class can call base class behavior, during derived class behavior.
  25143.  
  25144. Basic operation
  25145. Removes the given entry from the ODNameSpace.
  25146.  
  25147. Inputs
  25148. key
  25149.     Key for the entry to be removed.
  25150.  
  25151. Outputs
  25152. None
  25153.  
  25154. Exceptions Signalled
  25155. None.
  25156.  
  25157. Pre conditions
  25158. The given entry must have been registered. No error is signalled,
  25159. however, if the key does not already exist.
  25160.  
  25161. Post conditions
  25162. The given entry will be removed.
  25163.  
  25164. æKY ODNameSpace::WriteToFile
  25165. NameSpace::WriteToFile
  25166. NameSpace->WriteToFile
  25167. æT Class Method
  25168. æD void WriteToFile(
  25169. PlatformFile file);
  25170.  
  25171. æC Protection
  25172.     Public.  
  25173.  
  25174. Override policy
  25175.     Derived class can override.
  25176.     Derived class can call base class behavior, during derived class behavior.
  25177.  
  25178. Basic operation
  25179. Write the name space out as a stream to the file. This stream may be
  25180. read back in by ReadFromFile.
  25181.  
  25182. Inputs
  25183. file
  25184.     The file to which to write the data.
  25185.  
  25186. Outputs
  25187. None.
  25188.  
  25189. Exceptions Signalled
  25190. misc
  25191.     File system errors and/or storage errors.
  25192.  
  25193. Pre conditions
  25194. None.
  25195.  
  25196. Post conditions
  25197. Data will be written out to the given file.
  25198.  
  25199. æKY ODNameSpace::WriteToStorage
  25200. NameSpace::WriteToStorage
  25201. NameSpace->WriteToStorage
  25202. æT Class Method
  25203. æD void WriteToStorage(
  25204. ODStorageUnitView* view);
  25205.  
  25206. æC Protection
  25207.     Public.  
  25208.  
  25209. Override policy
  25210.     Derived class can override.
  25211.     Derived class can call base class behavior, during derived class behavior.
  25212.  
  25213. Basic operation
  25214. Write the name space out as a stream to the storage unit view. This
  25215. stream may be read back in by ReadFromStorage.
  25216.  
  25217. Inputs
  25218. view
  25219.     The storage unit to which to write the data.
  25220.  
  25221. Outputs
  25222. None.
  25223.  
  25224. Exceptions Signalled
  25225. misc
  25226.     File system errors and/or storage errors.
  25227.  
  25228. Pre conditions
  25229. None.
  25230.  
  25231. Post conditions
  25232. Data will be written out to storage.
  25233.  
  25234.  
  25235. æKY ODNameSpaceManagerHelp
  25236. ODNameSpaceManager
  25237. NameSpaceManager
  25238. æKL ODNameSpaceManager::ODNameSpaceManager
  25239. ODNameSpaceManager::~ODNameSpaceManager
  25240. ODNameSpaceManager::CreateNameSpace
  25241. ODNameSpaceManager::DeleteNameSpace
  25242. ODNameSpaceManager::HasNameSpace
  25243. ODNameSpaceManager::InitNameSpaceManager
  25244. ODNameSpaceManager::Purge
  25245. ODNameSpaceManager::UpdatePreferences
  25246. ODNameSpaceManager::fNameSpaceTable
  25247. ODNameSpaceManager::fPreferences
  25248. ODNameSpaceManager::fSession
  25249. æC Basic Class Documentation
  25250. This class represents a  a bottleneck for the creation of ODNameSpaces
  25251. to be used by the ODBinding object.  It keeps track of ODNameSpaces
  25252. created and destroyed so that they may later be found by name. Objects
  25253. of this class are created by member functions of the  ODSession class 
  25254. and by the ODMacSystemSession class. The platform vendor will
  25255. implement. ODNameSpaceManager is a subclass of ODObject.
  25256.  
  25257. Theory of Operation
  25258. This class  allows inheritance of ODNameSpaces so that a search can
  25259. take place in more than one ODNameSpace. 
  25260.  
  25261. Invariants Maintained by Class
  25262. A valid list of ODNameSpaces (possibly empty) exists.
  25263. æKY ODNameSpaceManager::ODNameSpaceManager
  25264. NameSpaceManager::ODNameSpaceManager
  25265. NameSpaceManager->ODNameSpaceManager
  25266. æT Class Method
  25267. æD ODNameSpaceManager();
  25268.  
  25269. æC Protection
  25270.     Private.  Only to be called by ODBaseSession::ODBaseSession().
  25271.  
  25272. Override policy
  25273.     Derived class cannot override.
  25274.     Derived class cannot call base class behavior.
  25275.  
  25276. Basic operation
  25277. Initializes private variables.
  25278.  
  25279. Inputs
  25280. None
  25281.  
  25282. Outputs
  25283. None
  25284.  
  25285. Exceptions Signalled
  25286. None
  25287.  
  25288.  
  25289. Pre conditions
  25290. None.
  25291.  
  25292. Post conditions
  25293. An ODNameSpaceManager object is created.
  25294.  
  25295. æKY ODNameSpaceManager::~ODNameSpaceManager
  25296. NameSpaceManager::~ODNameSpaceManager
  25297. NameSpaceManager->~ODNameSpaceManager
  25298. æT Class Method
  25299. æD virtual ~ODNameSpaceManager();
  25300.  
  25301. æC Protection
  25302.     Private.  Only to be called by the ODBaseSession class.
  25303.  
  25304. Override policy
  25305.     Derived class cannot override.
  25306.     Derived class cannot call base class behavior.
  25307.  
  25308. Basic operation
  25309. Destroys the ODNameSpaceManager object.
  25310.  
  25311. Inputs
  25312. None
  25313.  
  25314. Outputs
  25315. None
  25316.  
  25317. Exceptions Signalled
  25318. None.
  25319.  
  25320. Pre conditions
  25321. None.
  25322.  
  25323. Post conditions
  25324. Object destroyed.
  25325.  
  25326. æKY ODNameSpaceManager::CreateNameSpace
  25327. NameSpaceManager::CreateNameSpace
  25328. NameSpaceManager->CreateNameSpace
  25329. æT Class Method
  25330. æD virtual ODNameSpace* CreateNameSpace(
  25331. ODISOStr spaceName,
  25332. ODNameSpace* inheritsFrom,
  25333. ODULong numExpectedEntries,
  25334. ODNSTypeSpce type);
  25335.  
  25336. æC Protection
  25337.     Public.  
  25338.  
  25339. Override policy
  25340.     Derived class cannot override.
  25341.     Derived class cannot call base class behavior.
  25342.  
  25343. Basic operation
  25344. Creates an ODNameSpace object with specified parameters. An exception
  25345. is signalled if an ODNameSpace with the given name already exists.
  25346.  
  25347. Inputs
  25348. spaceName
  25349.     The name the caller wishes to give to this ODNameSpace
  25350. inheritsFrom
  25351.     An ODNameSpace to search if a GetValue fails in this one.
  25352. numExpectedEntries
  25353.     The number of expected entries to be made in this ODNameSpace.
  25354. type
  25355.     either a value name space or an object name space.
  25356.  
  25357. Outputs
  25358. Return
  25359.     The name space created.
  25360.  
  25361. Exceptions Signalled
  25362. kODErrOutOfMemory
  25363.     Not enough memory
  25364. kODErrKeyAlreadyExists
  25365.     An ODNameSpace with that name already exists.
  25366.  
  25367. Pre conditions
  25368. None.
  25369.  
  25370. Post conditions
  25371. A new ODNameSpace object is created and recorded in a list.
  25372.  
  25373. æKY ODNameSpaceManager::DeleteNameSpace
  25374. NameSpaceManager::DeleteNameSpace
  25375. NameSpaceManager->DeleteNameSpace
  25376. æT Class Method
  25377. æD virtual void DeleteNameSpace(
  25378. ODNameSpace* theNameSpace);
  25379.  
  25380. æC Protection
  25381.     Public.  
  25382.  
  25383. Override policy
  25384.     Derived class cannot override.
  25385.     Derived class cannot call base class behavior.
  25386.  
  25387. Basic operation
  25388. Delete specificied ODNameSpace object.
  25389.  
  25390. Inputs
  25391. theNameSpace
  25392.     The ODNameSpace to be destroyed
  25393.  
  25394. Outputs
  25395. None
  25396.  
  25397. Exceptions Signalled
  25398. None.
  25399.  
  25400. Pre conditions
  25401. None.
  25402.  
  25403. Post conditions
  25404. The specified ODNameSpace object will be destroyed.
  25405.  
  25406. æKY ODNameSpaceManager::HasNameSpace
  25407. NameSpaceManager::HasNameSpace
  25408. NameSpaceManager->HasNameSpace
  25409. æT Class Method
  25410. æD virtual ODBoolean HasNameSpace(
  25411. ODISOStr spaceName);
  25412.  
  25413. æC Protection
  25414.     Public.  
  25415.  
  25416. Override policy
  25417.     Derived class cannot override.
  25418.     Derived class cannot call base class behavior.
  25419.  
  25420. Basic operation
  25421. Finds out whether a given ODNameSpace exists.
  25422.  
  25423. Inputs
  25424. spaceName
  25425.     the name of the ODNameSpace to find.
  25426.  
  25427. Outputs
  25428. Return
  25429.     If true, the ODNameSpace exists.
  25430.  
  25431. Exceptions Signalled
  25432. None.
  25433.  
  25434. Pre conditions
  25435. None.
  25436.  
  25437. Post conditions
  25438. None.
  25439.  
  25440. æKY ODNameSpaceManager::InitNameSpaceManager
  25441. NameSpaceManager::InitNameSpaceManager
  25442. NameSpaceManager->InitNameSpaceManager
  25443. æT Class Method
  25444. æD void InitNameSpaceManager(
  25445. ODBaseSession* session);
  25446.  
  25447. æC Protection
  25448.     Private.  Should only be called by ODBaseSession.
  25449.  
  25450. Override policy
  25451.     Derived class cannot override.
  25452.     Derived class cannot call base class behavior.
  25453.  
  25454. Basic operation
  25455. Initializes the ODNameSpaceManager object.
  25456.  
  25457. Inputs
  25458. session
  25459.     The session that the NameSpaceManger object belongs to. 
  25460.  
  25461.  
  25462.  
  25463. Outputs
  25464. None
  25465.  
  25466. Exceptions Signalled
  25467. kODOutOfMemory
  25468.     Out of memory.
  25469.  
  25470. Pre conditions
  25471. None.
  25472.  
  25473. Post conditions
  25474. The ODNameSpaceManager object is initialized.
  25475.  
  25476. æKY ODNameSpaceManager::Purge
  25477. NameSpaceManager::Purge
  25478. NameSpaceManager->Purge
  25479. æT Class Method
  25480. æD ODSize Purge(
  25481. ODSize howMuch);
  25482.  
  25483. æC Protection
  25484.     Public.  
  25485.  
  25486. Override policy
  25487.     Derived class cannot override.
  25488.     Derived class cannot call base class behavior.
  25489.  
  25490. Basic operation
  25491. Free unused memory
  25492.  
  25493. Inputs
  25494. howMuch
  25495.     The amount request to free
  25496.  
  25497. Outputs
  25498. Return
  25499.     The amount of memory that was able to be freed.
  25500.  
  25501. Exceptions Signalled
  25502. None.
  25503.  
  25504. Pre conditions
  25505. None.
  25506.  
  25507. Post conditions
  25508. Some memory may be freed.
  25509.  
  25510. æKY ODNameSpaceManager::UpdatePreferences
  25511. NameSpaceManager::UpdatePreferences
  25512. NameSpaceManager->UpdatePreferences
  25513. æT Class Method
  25514. æD void UpdatePreferences();
  25515.  
  25516. æC Protection
  25517.     Public.  
  25518.  
  25519. Override policy
  25520.     Derived class cannot override.
  25521.     Derived class cannot call base class behavior.
  25522.  
  25523. Basic operation
  25524. Updates the OpenDoc Preferences file to reflect changes to either the
  25525. EditorKinds,  EditorCategory, or ContainerSuite name mappings.  
  25526.  
  25527. Inputs
  25528. None.
  25529.  
  25530. Outputs
  25531. <none>
  25532.     <none>
  25533.  
  25534. Exceptions Signalled
  25535. None.
  25536.  
  25537. Pre conditions
  25538. Either the EditorKinds,  EditorCategory, or ContainerSuite name spaces
  25539. have been changed at runtime.
  25540.  
  25541. Post conditions
  25542. EditorKinds,  EditorCategory, and ContainerSuite name spaces are
  25543. written out to OpenDoc Preferences.
  25544.  
  25545. æKY ODNameSpaceManager::fNameSpaceTable
  25546. NameSpaceManager::fNameSpaceTable
  25547. æT Class Field
  25548. æD ODObjectNameSpace fNameSpaceTable;
  25549. æC 
  25550. æKY ODNameSpaceManager::fPreferences
  25551. NameSpaceManager::fPreferences
  25552. æT Class Field
  25553. æD Preferences* fPreferences;
  25554. æC 
  25555. æKY ODNameSpaceManager::fSession
  25556. NameSpaceManager::fSession
  25557. æT Class Field
  25558. æD ODSession fSession;
  25559. æC 
  25560.  
  25561. æKY ODObjectHelp
  25562. ODObject
  25563. Object
  25564. æKL ODObject::ODObject
  25565. ODObject::~ODObject
  25566. ODObject::GetExtension
  25567. ODObject::HasExtension
  25568. ODObject::InitObject
  25569. ODObject::IsEqualTo
  25570. ODObject::IsInitialized
  25571. ODObject::Purge
  25572. ODObject::ReleaseExtension
  25573. æC Basic Class Documentation
  25574. This class is the common base class for  most OD classes.  It provides
  25575. a general mechanism for extensibility through Extension objects. 
  25576. ODObject also provides a general memory recovery system with the Purge
  25577. method.
  25578.  
  25579. Theory of Operation
  25580. ODObject does not have any real operation in it, for the most part it
  25581. serves as a template.
  25582.  
  25583. Invariants Maintained by Class
  25584. ODObject can only be initialized once. If InitObject() is called again
  25585. after the object is initialized, this method is a no-op and will
  25586. return immediately. Any subclass of ODObject should respect this
  25587. behavior as all the subclasses should call their base classes in their
  25588. Init methods. 
  25589. æKY ODObject::ODObject
  25590. Object::ODObject
  25591. Object->ODObject
  25592. æT Class Method
  25593. æD ODObject();
  25594.  
  25595. æC Protection
  25596.     Public.  
  25597.  
  25598. Override policy
  25599.     Derived class can override.
  25600.     Derived class must call base class behavior, before derived class behavior.
  25601.  
  25602. Basic operation
  25603. Constructor of the class.
  25604.  
  25605. Inputs
  25606. None.
  25607.  
  25608. Outputs
  25609. None.
  25610.  
  25611. Exceptions Signalled
  25612. None.
  25613.  
  25614. Pre conditions
  25615. None.
  25616.  
  25617. Post conditions
  25618. this is an uninitialized ODObject object.
  25619.  
  25620. æKY ODObject::~ODObject
  25621. Object::~ODObject
  25622. Object->~ODObject
  25623. æT Class Method
  25624. æD ~ODObject();
  25625.  
  25626. æC Protection
  25627.     Public.  
  25628.  
  25629. Override policy
  25630.     Derived class can override.
  25631.     Derived class must call base class behavior, after derived class behavior.
  25632.  
  25633. Basic operation
  25634. Destructor of the class.
  25635.  
  25636. Inputs
  25637. None.
  25638.  
  25639. Outputs
  25640. None.
  25641.  
  25642. Exceptions Signalled
  25643. None.
  25644.  
  25645. Pre conditions
  25646. None.
  25647.  
  25648. Post conditions
  25649. None.
  25650.  
  25651. æKY ODObject::GetExtension
  25652. Object::GetExtension
  25653. Object->GetExtension
  25654. æT Class Method
  25655. æD ODExtension* GetExtension(
  25656. ODName* extensionName);
  25657.  
  25658. æC Protection
  25659.     Public.  
  25660.  
  25661. Override policy
  25662.     Derived class can override.
  25663.     Derived class can call base class behavior, during derived class behavior.
  25664.  
  25665. Basic operation
  25666. GetExtension is intended to return the extension object with name
  25667. extensionName.  If the object does not have an extension object with
  25668. name extensionName then an exception is raised.  
  25669. ODObject has no extensions and always raises an exception.  Derived
  25670. classes should return appropriate Extension named extensionName or
  25671. call the inherited method.
  25672.  
  25673. Inputs
  25674. extensionName
  25675.     name of extension to get 
  25676.  
  25677. Outputs
  25678. <return>
  25679.     the requested Extension
  25680.  
  25681. Exceptions Signalled
  25682. kODErrInvalidExtension
  25683.     not an extension that this object knows about
  25684.  
  25685. Pre conditions
  25686. this object has extension extensionName
  25687.  
  25688. Post conditions
  25689. return = extension extensionName
  25690.  
  25691. æKY ODObject::HasExtension
  25692. Object::HasExtension
  25693. Object->HasExtension
  25694. æT Class Method
  25695. æD ODBoolean HasExtension(
  25696. ODName* extensionName);
  25697.  
  25698. æC Protection
  25699.     Public.  
  25700.  
  25701. Override policy
  25702.     Derived class can override.
  25703.     Derived class can call base class behavior, during derived class behavior.
  25704.  
  25705. Basic operation
  25706. HasExtension returns whether or not the object has an extension with
  25707. the name extensionName.   ODObject has no inherent Extensions of its
  25708. own, and always returns false.  Derived classes should return whether
  25709. or not they return a extension named extensionName.
  25710.  
  25711. Inputs
  25712. extensionName
  25713.     name of extension to look for
  25714.  
  25715. Outputs
  25716. <return>
  25717.     whether or not this object has the given extension
  25718.  
  25719. Exceptions Signalled
  25720. None.
  25721.  
  25722. Pre conditions
  25723. extensionName is an Extension which this object has
  25724.  
  25725. Post conditions
  25726. None.
  25727.  
  25728. æKY ODObject::InitObject
  25729. Object::InitObject
  25730. Object->InitObject
  25731. æT Class Method
  25732. æD void   InitObject();
  25733.  
  25734. æC Protection
  25735.     Public.  
  25736.  
  25737. Override policy
  25738.     Derived class cannot override.
  25739.     Derived class must call base class behavior, before derived class behavior.
  25740.  
  25741. Basic operation
  25742. InitObject performs initialization operations for an object. 
  25743. InitObject is always called on an ODObject immediately after the
  25744. constructor is called.  Derived classes should do whatever is
  25745. necessary to set up the internal state of their objects to be
  25746. consistent with class invariants.
  25747. If this method is called again after the first time on the same
  25748. object, it will return immediately.
  25749.  
  25750. Inputs
  25751. None.
  25752.  
  25753. Outputs
  25754. none
  25755.  
  25756. Exceptions Signalled
  25757. None.
  25758.  
  25759. Pre conditions
  25760. None.
  25761.  
  25762. Post conditions
  25763. this is an initialized ODObject object.
  25764.  
  25765. æKY ODObject::IsEqualTo
  25766. Object::IsEqualTo
  25767. Object->IsEqualTo
  25768. æT Class Method
  25769. æD ODBoolean IsEqualTo(
  25770. ODObject object);
  25771.  
  25772. æC Protection
  25773.     Public.  
  25774.  
  25775. Override policy
  25776.     Derived class must override.
  25777.     Derived class can call base class behavior, before derived class behavior.
  25778.  
  25779. Basic operation
  25780. None.
  25781.  
  25782. Inputs
  25783. object
  25784.     The ODObject to compare this to.
  25785.  
  25786. Outputs
  25787. <return>
  25788.     Whether or not the object passed in is the same as the object being
  25789. dispatched to.
  25790.  
  25791. Exceptions Signalled
  25792. None.
  25793.  
  25794. Pre conditions
  25795. None.
  25796.  
  25797. Post conditions
  25798. None.
  25799.  
  25800. æKY ODObject::IsInitialized
  25801. Object::IsInitialized
  25802. Object->IsInitialized
  25803. æT Class Method
  25804. æD ODBoolean IsInitialized();
  25805.  
  25806. æC Protection
  25807.     Public.  Subclasses must call this method at the beginning of their InitXXX
  25808. methods to check to see they have already been initialized or not.
  25809.  
  25810. Override policy
  25811.     Derived class cannot override.
  25812.     Derived class must call base class behavior, before derived class behavior.
  25813.  
  25814. Basic operation
  25815. None.
  25816.  
  25817. Inputs
  25818. None.
  25819.  
  25820. Outputs
  25821. <return>
  25822.     Whether or not this object has been initialized.
  25823.  
  25824. Exceptions Signalled
  25825. None.
  25826.  
  25827. Pre conditions
  25828. None.
  25829.  
  25830. Post conditions
  25831. None.
  25832.  
  25833. æKY ODObject::Purge
  25834. Object::Purge
  25835. Object->Purge
  25836. æT Class Method
  25837. æD ODSize Purge(
  25838. ODSize size);
  25839.  
  25840. æC Protection
  25841.     Public.  
  25842.  
  25843. Override policy
  25844.     Derived class must override.
  25845.     Derived class cannot call base class behavior, during derived class behavior.
  25846.  
  25847. Basic operation
  25848. Purge is intended for a class to free up  memory including caches
  25849. until it has freed up size or more bytes or freed up  all the memory
  25850. it can.  The number of bytes actually freed should be returned. 
  25851. ODObject does not allocate any memory and always return 0 bytes
  25852. purged.
  25853.  
  25854. Inputs
  25855. size
  25856.     the number of bytes to try to purge
  25857.  
  25858. Outputs
  25859. <return>
  25860.     the number of bytes actually purged
  25861.  
  25862. Exceptions Signalled
  25863. None.
  25864.  
  25865. Pre conditions
  25866. None.
  25867.  
  25868. Post conditions
  25869. At least size or as many as possible bytes have been freed up by the
  25870. object
  25871.  
  25872. æKY ODObject::ReleaseExtension
  25873. Object::ReleaseExtension
  25874. Object->ReleaseExtension
  25875. æT Class Method
  25876. æD void   ReleaseExtension(
  25877. ODExtension* extension);
  25878.  
  25879. æC Protection
  25880.     Public.  
  25881.  
  25882. Override policy
  25883.     Derived class can override.
  25884.     Derived class can call base class behavior, during derived class behavior.
  25885.  
  25886. Basic operation
  25887. ReleaseExtension is intended to release the extension object passed
  25888. in.  If the extension passed in is not one which was acquired from the
  25889. object using GetExtension then an exception is raised.  
  25890. ODObject has no extensions and always raises an exception.   Derived
  25891. classes should expect an extension which was previously acquired using
  25892. GetExtension, and release it. 
  25893.  
  25894. Inputs
  25895. extension
  25896.     the extension to be released
  25897.  
  25898. Outputs
  25899. none
  25900.  
  25901. Exceptions Signalled
  25902. kODErrInvalidExtension
  25903.     not an extension that this object knows about
  25904.  
  25905. Pre conditions
  25906. this object has given out the given extension
  25907.  
  25908. Post conditions
  25909. the given extension is no longer guaranteed to be valid
  25910.  
  25911.  
  25912. æKY ODObjectIteratorHelp
  25913. ODObjectIterator
  25914. ObjectIterator
  25915. æKL ODObjectIterator::~ODObjectIterator
  25916. ODObjectIterator::First
  25917. ODObjectIterator::InitObjectIterator
  25918. ODObjectIterator::IsNotComplete
  25919. ODObjectIterator::Next
  25920. ODObjectIterator::fNameSpace
  25921. ODObjectIterator::fStrHashIterator
  25922. æC Basic Class Documentation
  25923. This class is an iterator for use with the ODObjectNameSpace class. It
  25924. has no superclass. The platform vendor will implement.
  25925.  
  25926. Theory of Operation
  25927. This iterator follows the standard semantics of OpenDoc iterators
  25928. except that two values are returned in pointer parameters: the key and
  25929. the value. This class is a friend of ODObjectNameSpace. It's
  25930. implementation depends heavily on the implementation of the
  25931. ODObjectNameSpace class. 
  25932.  
  25933. Invariants Maintained by Class
  25934. It is only meant to be used in the context of a for statement. Any
  25935. other use is not guaranteed to be correct.
  25936. æKY ODObjectIterator::~ODObjectIterator
  25937. ObjectIterator::~ODObjectIterator
  25938. ObjectIterator->~ODObjectIterator
  25939. æT Class Method
  25940. æD ~ODObjectIterator();
  25941.  
  25942. æC Protection
  25943.     Public.  
  25944.  
  25945. Override policy
  25946.     Derived class cannot override.
  25947.     Derived class cannot call base class behavior.
  25948.  
  25949. Basic operation
  25950. Deletes private storage.
  25951.  
  25952. Inputs
  25953. None.
  25954.  
  25955. Outputs
  25956. None
  25957.  
  25958. Exceptions Signalled
  25959. None.
  25960.  
  25961. Pre conditions
  25962. None.
  25963.  
  25964. Post conditions
  25965. None.
  25966.  
  25967. æKY ODObjectIterator::First
  25968. ObjectIterator::First
  25969. ObjectIterator->First
  25970. æT Class Method
  25971. æD void First(
  25972. ODISOStr* key,
  25973. ODObject* object,
  25974. ODULong* objectLength);
  25975.  
  25976. æC Protection
  25977.     Public.  
  25978.  
  25979. Override policy
  25980.     Derived class cannot override.
  25981.     Derived class cannot call base class behavior.
  25982.  
  25983. Basic operation
  25984. Return the first key/value pair. If there are no entries in the table,
  25985. the values returned are garbage and the next call to IsNotComplete
  25986. will return false. Note that the ODISOStr returned is a copy. The
  25987. client must dispose of it.
  25988.  
  25989. Inputs
  25990. key
  25991.     a pointer to the key to be returned.
  25992. object
  25993.     a pointer to the object to be returned.
  25994. objectLength
  25995.     a pointer to the length of the object to be returned.
  25996.  
  25997. Outputs
  25998. key
  25999.     the key placed in the storage pointed to by key.
  26000. object
  26001.     the object placed in the storage pointed to by object .
  26002. objectLength
  26003.     the length of the object being returned placed in the storage pointed
  26004. to by objectLength.
  26005.  
  26006. Exceptions Signalled
  26007. None.
  26008.  
  26009. Pre conditions
  26010. None.
  26011.  
  26012. Post conditions
  26013. None.
  26014.  
  26015. æKY ODObjectIterator::InitObjectIterator
  26016. ObjectIterator::InitObjectIterator
  26017. ObjectIterator->InitObjectIterator
  26018. æT Class Method
  26019. æD InitObjectIterator(
  26020. ODObjectNameSpace* nameSpace);
  26021.  
  26022. æC Protection
  26023.     Private.  should only be called by ODObjectNameSpace
  26024.  
  26025. Override policy
  26026.     Derived class cannot override.
  26027.     Derived class cannot call base class behavior.
  26028.  
  26029. Basic operation
  26030. Initialize the private member variables.
  26031.  
  26032. Inputs
  26033. nameSpace
  26034.     The ODObjectNameSpace over which to iterate.
  26035.  
  26036. Outputs
  26037. None
  26038.  
  26039. Exceptions Signalled
  26040. None.
  26041.  
  26042. Pre conditions
  26043. A valid ODObjectNameSpace must exist.
  26044.  
  26045. Post conditions
  26046. None.
  26047.  
  26048. æKY ODObjectIterator::IsNotComplete
  26049. ObjectIterator::IsNotComplete
  26050. ObjectIterator->IsNotComplete
  26051. æT Class Method
  26052. æD ODBoolean IsNotComplete();
  26053.  
  26054. æC Protection
  26055.     Public.  
  26056.  
  26057. Override policy
  26058.     Derived class cannot override.
  26059.     Derived class cannot call base class behavior.
  26060.  
  26061. Basic operation
  26062. Return whether we have tried to go beyond the end of the
  26063. ODObjectNameSpace entries. 
  26064.  
  26065. Inputs
  26066. None
  26067.  
  26068. Outputs
  26069. <return>
  26070.     kODFalse if we have tried to get an entry that was beyond the end of
  26071. the table, kODTrue otherwise.
  26072.  
  26073. Exceptions Signalled
  26074. None.
  26075.  
  26076. Pre conditions
  26077. None.
  26078.  
  26079. Post conditions
  26080. None.
  26081.  
  26082. æKY ODObjectIterator::Next
  26083. ObjectIterator::Next
  26084. ObjectIterator->Next
  26085. æT Class Method
  26086. æD void Next(
  26087. ODISOStr* key,
  26088. ODObject* object,
  26089. ODULong* objectLength);
  26090.  
  26091. æC Protection
  26092.     Public.  
  26093.  
  26094. Override policy
  26095.     Derived class cannot override.
  26096.     Derived class cannot call base class behavior.
  26097.  
  26098. Basic operation
  26099. Return the next key/value pair. If there are no more entries in the
  26100. table, the values returned are garbage and the next call to
  26101. IsNotComplete will return false. Note that the ODISOStr returned is a
  26102. copy. The client must dispose of it.
  26103.  
  26104. Inputs
  26105. key
  26106.     a pointer to the key to be returned.
  26107. object
  26108.     a pointer to the object to be returned.
  26109. objectLength
  26110.     a pointer to the length of the object to be returned.
  26111.  
  26112. Outputs
  26113. key
  26114.     the key placed in the storage pointed to by key.
  26115. object
  26116.     the object placed in the storage pointed to by object .
  26117. objectLength
  26118.     the length of the object being returned placed in the storage pointed
  26119. to by objectLength .
  26120.  
  26121. Exceptions Signalled
  26122. None.
  26123.  
  26124. Pre conditions
  26125. First must be have been called!
  26126.  
  26127. Post conditions
  26128. None.
  26129.  
  26130. æKY ODObjectIterator::fNameSpace
  26131. ObjectIterator::fNameSpace
  26132. æT Class Field
  26133. æD ODObjectNameSpace* fNameSpace;
  26134. æC Persistent form
  26135. None.
  26136.  
  26137. æKY ODObjectIterator::fStrHashIterator
  26138. ObjectIterator::fStrHashIterator
  26139. æT Class Field
  26140. æD ODStringHashTableIterator* fStrHashIterator;
  26141. æC Persistent form
  26142. None.
  26143.  
  26144.  
  26145. æKY ODObjectNameSpaceHelp
  26146. ODObjectNameSpace
  26147. ObjectNameSpace
  26148. æKL ODObjectNameSpace::ODObjectNameSpace
  26149. ODObjectNameSpace::~ODObjectNameSpace
  26150. ODObjectNameSpace::CreateIterator
  26151. ODObjectNameSpace::GetEntry
  26152. ODObjectNameSpace::InitObjectNameSpace
  26153. ODObjectNameSpace::Register
  26154. æC Basic Class Documentation
  26155. This class represents an object name space. Objects of this class are
  26156. created by member functions of the ODNameSpaceManager class. The
  26157. platform vendor will implement. ODObjectNameSpace is a subclass of
  26158. ODNameSpace.
  26159.  
  26160. Theory of Operation
  26161. This class allows registering ODObjects witha key of type ODISOSt.
  26162. Objects are hashed for quick lookup.
  26163.  
  26164. Invariants Maintained by Class
  26165. There is always a valid hash table instantiated to hold the key/value
  26166. pairs. It may be empty.
  26167. æKY ODObjectNameSpace::ODObjectNameSpace
  26168. ObjectNameSpace::ODObjectNameSpace
  26169. ObjectNameSpace->ODObjectNameSpace
  26170. æT Class Method
  26171. æD ODObjectNameSpace();
  26172.  
  26173. æC Protection
  26174.     Private.  Only called by ODNameSpaceManager::CreateNameSpace.
  26175.  
  26176. Override policy
  26177.     Derived class cannot override.
  26178.     Derived class cannot call base class behavior, during derived class behavior.
  26179.  
  26180. Basic operation
  26181. Initialize an ODNameSpace class
  26182.  
  26183. Inputs
  26184.  
  26185. type
  26186.     key type (OSType, ODSLong or ODISOString).
  26187.  
  26188. Outputs
  26189. None
  26190.  
  26191. Exceptions Signalled
  26192. None.
  26193.  
  26194. Pre conditions
  26195. None.
  26196.  
  26197. Post conditions
  26198. A new ODNameSpace class will be created.
  26199.  
  26200. æKY ODObjectNameSpace::~ODObjectNameSpace
  26201. ObjectNameSpace::~ODObjectNameSpace
  26202. ObjectNameSpace->~ODObjectNameSpace
  26203. æT Class Method
  26204. æD virtual ~ODObjectNameSpace();
  26205.  
  26206. æC Protection
  26207.     Private.  Called only by ODNameSpaceManager::DeleteNameSpace.
  26208.  
  26209. Override policy
  26210.     Derived class cannot override.
  26211.     Derived class cannot call base class behavior, during derived class behavior.
  26212.  
  26213. Basic operation
  26214. Destroys the ODNameSpace object and any associated storage.
  26215.  
  26216. Inputs
  26217. None
  26218.  
  26219. Outputs
  26220. None
  26221.  
  26222. Exceptions Signalled
  26223. None.
  26224.  
  26225. Pre conditions
  26226. None.
  26227.  
  26228. Post conditions
  26229. Object all gone.
  26230.  
  26231. æKY ODObjectNameSpace::CreateIterator
  26232. ObjectNameSpace::CreateIterator
  26233. ObjectNameSpace->CreateIterator
  26234. æT Class Method
  26235. æD ODObjectIterator CreateIterator();
  26236.  
  26237. æC Protection
  26238.     Public.  
  26239.  
  26240. Override policy
  26241.     Derived class can override.
  26242.     Derived class can call base class behavior, during derived class behavior.
  26243.  
  26244. Basic operation
  26245. Factory method for ODObjectIterators.
  26246.  
  26247. Inputs
  26248. None.
  26249.  
  26250. Outputs
  26251. ODObjectIterator
  26252.     An iterator for this name space.
  26253.  
  26254. Exceptions Signalled
  26255. None.
  26256.  
  26257. Pre conditions
  26258. None.
  26259.  
  26260. Post conditions
  26261. None.
  26262.  
  26263. æKY ODObjectNameSpace::GetEntry
  26264. ObjectNameSpace::GetEntry
  26265. ObjectNameSpace->GetEntry
  26266. æT Class Method
  26267. æD ODBoolean GetEntry(
  26268. ODISOStr key,
  26269. ODObject* object);
  26270.  
  26271. æC Protection
  26272.     Public.  
  26273.  
  26274. Override policy
  26275.     Derived class can override.
  26276.     Derived class can call base class behavior, during derived class behavior.
  26277.  
  26278. Basic operation
  26279. None.
  26280.  
  26281. Inputs
  26282. key
  26283.     An ODISOStr hash key used to look up an object.
  26284. object
  26285.     The ODObject returned.
  26286.  
  26287. Outputs
  26288. Return
  26289.     ODBoolean indicating if an entry for this key is found or not.
  26290.  
  26291. Exceptions Signalled
  26292. None.
  26293.  
  26294. Pre conditions
  26295. None.
  26296.  
  26297. Post conditions
  26298. None.
  26299.  
  26300. æKY ODObjectNameSpace::InitObjectNameSpace
  26301. ObjectNameSpace::InitObjectNameSpace
  26302. ObjectNameSpace->InitObjectNameSpace
  26303. æT Class Method
  26304. æD void InitObjectNameSpace(
  26305. ODNameSpaceManager* mgr,
  26306. ODNameSpace*        parent,
  26307. ODULong             numExpectedEntries,
  26308. ODISOStr            name);
  26309.  
  26310. æC Protection
  26311.     Private.  Should only be called by ODNameSpaceManager
  26312.  
  26313. Override policy
  26314.     Derived class cannot override.
  26315.     Derived class cannot call base class behavior.
  26316.  
  26317. Basic operation
  26318. Initializes the object.
  26319.  
  26320. Inputs
  26321. mgr
  26322.     The NameSpaceManager object that this NameSpace belongs to.
  26323. parent
  26324.     An ODNameSpace to search if a GetValue fails in this one.
  26325. numExpectedEntries
  26326.     The number of expected entries.
  26327. name
  26328.     the name to give this ODNameSpace.
  26329.  
  26330. Outputs
  26331. None.
  26332.  
  26333. Exceptions Signalled
  26334. kODErrOutOfMemory
  26335.     Out of memory.
  26336.  
  26337. Pre conditions
  26338. None.
  26339.  
  26340. Post conditions
  26341. The object will be initialized.
  26342.  
  26343. æKY ODObjectNameSpace::Register
  26344. ObjectNameSpace::Register
  26345. ObjectNameSpace->Register
  26346. æT Class Method
  26347. æD void Register    (
  26348. ODISOStr key,
  26349. ODObject object);
  26350.  
  26351. æC Protection
  26352.     Public.  
  26353.  
  26354. Override policy
  26355.     Derived class can override.
  26356.     Derived class can call base class behavior.
  26357.  
  26358. Basic operation
  26359. None.
  26360.  
  26361. Inputs
  26362. key
  26363.     key
  26364. object
  26365.     object
  26366.  
  26367. Outputs
  26368. None.
  26369.  
  26370. Exceptions Signalled
  26371. None.
  26372.  
  26373. Pre conditions
  26374. None.
  26375.  
  26376. Post conditions
  26377. None.
  26378.  
  26379.  
  26380. æKY ODOSLTokenHelp
  26381. ODOSLToken
  26382. OSLToken
  26383. æKL ODOSLToken::DuplicateODOSLToken
  26384. æC Basic Class Documentation
  26385. This class is a subclass of ODDesc that represents and OSL token. In
  26386. OpenDoc, the token is owned by OpenDoc, but part editors can obtain an
  26387. ODDesc to use for their private token data from an ODOSLToken using
  26388. the GetUserToken method of ODNameResolver.
  26389.  
  26390. Theory of Operation
  26391. OpenDoc owns the format of the data stored in this class. This data
  26392. includes information about where the token came from as well as a
  26393. reference to an ODDesc.
  26394.  
  26395. Invariants Maintained by Class
  26396. Invariants for the part editor developer: the GetUserToken method of
  26397. ODNameResolver will always return a valid ODDesc.
  26398. æKY ODOSLToken::DuplicateODOSLToken
  26399. OSLToken::DuplicateODOSLToken
  26400. OSLToken->DuplicateODOSLToken
  26401. æT Class Method
  26402. æD 
  26403.  
  26404. æC Protection
  26405.     Public.  
  26406.  
  26407. Override policy
  26408.     Derived class cannot override.
  26409.     Derived class cannot call base class behavior.
  26410.  
  26411. Basic operation
  26412. Create a new ODOSLToken containing the same context information (where
  26413. this token came from) but containing a new reference to an ODDesc that
  26414. represents the "user token".
  26415.  
  26416. Inputs
  26417. None.
  26418.  
  26419. Outputs
  26420. <return>
  26421.     The new ODOSLToken object.
  26422.  
  26423. Exceptions Signalled
  26424. kODErrOutOfMemory
  26425.     Couldn't create a new object. 
  26426.  
  26427. Pre conditions
  26428. None.
  26429.  
  26430. Post conditions
  26431. A new ODOSLToken object is created.
  26432.  
  26433.  
  26434. æKY ODPartHelp
  26435. ODPart
  26436. Part
  26437. æKL ODPart::ODPart
  26438. ODPart::~ODPart
  26439. ODPart::AbortRelinquishFocus
  26440. ODPart::AdjustBorderShape
  26441. ODPart::AdjustMenus
  26442. ODPart::AttachSourceFrame
  26443. ODPart::BeginRelinquishFocus
  26444. ODPart::CanvasChanged
  26445. ODPart::CanvasUpdated
  26446. ODPart::ChangeKind
  26447. ODPart::CloneInto
  26448. ODPart::ClonePartInfo
  26449. ODPart::CommitRelinquishFocus
  26450. ODPart::ContainingPartPropertiesChanged
  26451. ODPart::CreateEmbeddedFramesIterator
  26452. ODPart::CreateLink
  26453. ODPart::DisplayFrameAdded
  26454. ODPart::DisplayFrameClosed
  26455. ODPart::DisplayFrameConnected
  26456. ODPart::DisplayFrameRemoved
  26457. ODPart::DisposeActionState
  26458. ODPart::DragEnter
  26459. ODPart::DragLeave
  26460. ODPart::DragWithin
  26461. ODPart::Draw
  26462. ODPart::Drop
  26463. ODPart::DropCompleted
  26464. ODPart::EditInLinkAttempted
  26465. ODPart::EmbeddedFrameChanged
  26466. ODPart::EmbeddedFrameSpec
  26467. ODPart::ExternalizeKinds
  26468. ODPart::FacetAdded
  26469. ODPart::FacetRemoved
  26470. ODPart::FocusAcquired
  26471. ODPart::FocusLost
  26472. ODPart::FrameShapeChanged
  26473. ODPart::FulfillPromise
  26474. ODPart::GeometryChanged
  26475. ODPart::GetContainingPartProperties
  26476. ODPart::GetPrintResolution
  26477. ODPart::GetRealPart
  26478. ODPart::HandleEvent
  26479. ODPart::HighlightChanged
  26480. ODPart::InitPart
  26481. ODPart::InitPartFromStorage
  26482. ODPart::IsRealPart
  26483. ODPart::LinkStatusChanged
  26484. ODPart::LinkUpdated
  26485. ODPart::Open
  26486. ODPart::PresentationChanged
  26487. ODPart::ReadActionState
  26488. ODPart::ReadPartInfo
  26489. ODPart::RedoAction
  26490. ODPart::ReleaseRealPart
  26491. ODPart::RemoveEmbeddedFrame
  26492. ODPart::RequestEmbeddedFrame
  26493. ODPart::RequestFrameShape
  26494. ODPart::RevealFrame
  26495. ODPart::RevealLink
  26496. ODPart::SequenceChanged
  26497. ODPart::UndoAction
  26498. ODPart::UsedShapeChanged
  26499. ODPart::ViewTypeChanged
  26500. ODPart::WriteActionState
  26501. ODPart::WritePartInfo
  26502. æC Basic Class Documentation
  26503. Ancestors:  ODPart -> ODPersistentObject -> ODRefCountObject ->
  26504. ODObject.
  26505. Descendants:  any developer part editor implementation.
  26506.  
  26507. ODPart is the abstract base class from which Part developers will
  26508. derive the classes which implement their Part Editors. There can be no
  26509. instances of ODPart itself, but there will be instances of derived
  26510. classes.
  26511.  
  26512. ODPart objectifies the structure and behavior of Parts.  Each Part in
  26513. a Document is represented by one instance of an ODPart.  The methods
  26514. defined in ODPart must be implemented by all Part Handlers.  One Part
  26515. Handler supplies the implementation of behavior for all Parts of a
  26516. given type.
  26517.  
  26518. Parts participate in many of the OpenDoc protocols. Devolopers of Part
  26519. handlers must implement behavior for the Part's roles in all those
  26520. behaviors. This provides a base structure for Parts, on which
  26521. developers will construct the functionality of the Part's content.
  26522. There are quite a few entry points into a Part, but many of these are
  26523. fairly simple to implement.
  26524.  
  26525. Note that in its ReleaseAll method, a Part should make sure to release
  26526. all refcounted objects it is pointing to, relinquish all foci, and
  26527. make sure to clear any undoactions it posted on the Undo stack.
  26528.  
  26529. Theory of Operation
  26530.  
  26531.  
  26532. Invariants Maintained by Class
  26533. The part must store the ODPartWrapper object which is passed in in
  26534. both the InitPart methods.  This pointer will not change for the in
  26535. memory lifetime of the part.  The part must pass out this pointer, NOT
  26536. somSelf, to any API calls which require that an ODPart be passed in. 
  26537. This includes InitExtension(base).  The part should pass in its
  26538. partWrapper as the base of all extensions it hands out.  See the
  26539. documentation of ODPartWrapper for more information.
  26540.  
  26541. The fSU field (inherited from ODPersistentObject) of an ODPart is
  26542. initialized to point to the Part's storage unit. This field is never
  26543. nil, and cannot be changed to point at a different storage unit.
  26544.  
  26545. Each Part may want to maintain a list of all frames in which it is
  26546. displayed. The representation of this list is hidden by the API, and
  26547. developers may choose whatever format works best for their
  26548. implementation.
  26549.  
  26550. A Part which can contain other parts must maintain a list of all
  26551. frames embedded within it. This list contains references to frames
  26552. displaying all the parts embedded in the containing part. The
  26553. representation of this list is hidden by the API, and developers may
  26554. choose whatever format works best for their implementation.
  26555.  
  26556. Parts which support extensions, including a semantic interface, must
  26557. manage the creation and deletion of their extension objects.  In their
  26558. ReleaseAll() method, Parts must call BaseRemoved() on their extensions
  26559. which cannot be deleted due to positive RefCounts.
  26560. æKY ODPart::ODPart
  26561. Part::ODPart
  26562. Part->ODPart
  26563. æT Class Method
  26564. æD ODPart();
  26565.  
  26566. æC Protection
  26567.     Public.  Private by convention. Called only by Draft.
  26568.  
  26569. Override policy
  26570.     Derived class must override.
  26571.     Derived class must call base class behavior.
  26572.  
  26573. Basic operation
  26574. Class constructor. This constructor is never called directly. It can
  26575. only be called by invoking a constructor for a derived class.
  26576.  
  26577. Inputs
  26578. None.
  26579.  
  26580. Outputs
  26581. None.
  26582.  
  26583. Exceptions Signalled
  26584. None.
  26585.  
  26586. Pre conditions
  26587. None.
  26588.  
  26589. Post conditions
  26590. None.
  26591.  
  26592. æKY ODPart::~ODPart
  26593. Part::~ODPart
  26594. Part->~ODPart
  26595. æT Class Method
  26596. æD ~ODPart();
  26597.  
  26598. æC Protection
  26599.     Public.  Private by convention. Called only by Draft.
  26600.  
  26601. Override policy
  26602.     Derived class must override.
  26603.     Derived class must call base class behavior.
  26604.  
  26605. Basic operation
  26606. Class destructor. This destructor is never called directly. It can
  26607. only be called by invoking a destructor for a derived class.
  26608.  
  26609. Inputs
  26610. None.
  26611.  
  26612. Outputs
  26613. None.
  26614.  
  26615. Exceptions Signalled
  26616. None.
  26617.  
  26618. Pre conditions
  26619. None.
  26620.  
  26621. Post conditions
  26622. None.
  26623.  
  26624. æKY ODPart::AbortRelinquishFocus
  26625. Part::AbortRelinquishFocus
  26626. Part->AbortRelinquishFocus
  26627. æT Class Method
  26628. æD void AbortRelinquishFocus(
  26629. ODTypeToken focus,
  26630. ODFrame* ownerFrame,
  26631. ODFrame* proposedFrame);
  26632.  
  26633. æC Protection
  26634.     Public.  Called by Arbitrator.
  26635.  
  26636. Override policy
  26637.     Derived class must override.
  26638.     Derived class cannot call base class behavior.
  26639.  
  26640. Basic operation
  26641. This method is called by the Arbitrator to cause the Part to back out
  26642. of changes initiated by the BeginRelinquishFocus call, and resume
  26643. ownership of the focus.
  26644.  
  26645. The Part must restore itself to continue use of the focus.
  26646.  
  26647. Inputs
  26648. focus
  26649.     The focus type being relinquished.
  26650. ownerFrame
  26651.     The part's frame which has the focus.
  26652. proposedFrame
  26653.     The frame of the other part which requested the focus.
  26654.  
  26655. Outputs
  26656. None.
  26657.  
  26658. Exceptions Signalled
  26659. kODErrInvalidFocus
  26660.     Part doesn't own this focus.
  26661. kODErrNotPrepared
  26662.     Part hasn't prepared to relinqush focus.
  26663. kODErrInvalidFrame
  26664.     ownerFrame is not a display frame of this part.
  26665.  
  26666. Pre conditions
  26667. Arbitrator must have previously called ODPart::BeginRelinquishFocus().
  26668.  
  26669. Post conditions
  26670. None.
  26671.  
  26672. æKY ODPart::AdjustBorderShape
  26673. Part::AdjustBorderShape
  26674. Part->AdjustBorderShape
  26675. æT Class Method
  26676. æD ODShape* AdjustBorderShape(
  26677. ODFrame* embeddedFrame,
  26678. ODShape* shape);
  26679.  
  26680. æC Protection
  26681.     Public.  Called by Arbitrator.
  26682.  
  26683. Override policy
  26684.     Derived class must override.
  26685.     Derived class cannot call base class behavior.
  26686.  
  26687. Basic operation
  26688. Adjust the shape of the active frame border of an embedded frame. 
  26689. "shape" parameter is requested shape. Return  value is that shape
  26690. obscured by other contents of this part.
  26691.  
  26692. Inputs
  26693. embeddedFrame
  26694.     And embedded frame contained in this part, for which the border is
  26695. being created.
  26696. shape
  26697.     The starting shape for the active border of the embedded frame.
  26698.  
  26699. Outputs
  26700. <return>
  26701.     The shape to use for the active border, clipped by this part's
  26702. content.
  26703.  
  26704. Exceptions Signalled
  26705. kODErrInvalidFrame
  26706.     embeddedFrame is not an embeddedFrame of this part.
  26707.  
  26708. Pre conditions
  26709. None.
  26710.  
  26711. Post conditions
  26712. None.
  26713.  
  26714. æKY ODPart::AdjustMenus
  26715. Part::AdjustMenus
  26716. Part->AdjustMenus
  26717. æT Class Method
  26718. æD void AdjustMenus(
  26719. ODFrame* frame);
  26720.  
  26721. æC Protection
  26722.     Public.  Called by WindowState.
  26723.  
  26724. Override policy
  26725.     Derived class must override.
  26726.     Derived class cannot call base class behavior.
  26727.  
  26728. Basic operation
  26729. Called by the WindowState just prior to MenuSelect or MenuKey to allow
  26730. the Part to adjust the presentation of its menus for display.
  26731.  
  26732. When this is called the part should enable and disable menus as
  26733. appropriate for its current state.
  26734.  
  26735. Inputs
  26736. frame
  26737.     The display frame to adjust the menu's for.
  26738.  
  26739. Outputs
  26740. None.
  26741.  
  26742. Exceptions Signalled
  26743. kODErrInvalidFrame
  26744.     frame is not a display frame of this part.
  26745.  
  26746. Pre conditions
  26747. None.
  26748.  
  26749. Post conditions
  26750. None.
  26751.  
  26752. æKY ODPart::AttachSourceFrame
  26753. Part::AttachSourceFrame
  26754. Part->AttachSourceFrame
  26755. æT Class Method
  26756. æD void AttachSourceFrame(
  26757. ODFrame* frame,
  26758. ODFrame* sourceFrame);
  26759.  
  26760. æC Protection
  26761.     Public.  
  26762.  
  26763. Override policy
  26764.     Derived class must override.
  26765.     Derived class cannot call base class behavior.
  26766.  
  26767. Basic operation
  26768. Called by the object which requested creation of a frame, immediately
  26769. after creation of the frame. This associates a "source frame" with a
  26770. display frame of a part. This tells the part to keep two or more of
  26771. its display frames synchronized.
  26772.  
  26773.  
  26774. A part will recieve this call just after a display frame has been
  26775. added. Attaching a source frame should cause the display frame to look
  26776. just like it, or if presentations differ, to be equivalent to it. This
  26777. will cause duplication of embedded frames, and will ensure that the
  26778. view in one frame is updated when content in the other is changed.
  26779.  
  26780. Inputs
  26781. frame
  26782.     A display frame of the part.
  26783. sourceFrame
  26784.     Another display frame of the part.
  26785.  
  26786. Outputs
  26787. None.
  26788.  
  26789. Exceptions Signalled
  26790. kODErrInvalidFrame
  26791.     Either frame or sourceFrame is not a display frame of this part.
  26792.  
  26793. Pre conditions
  26794. Both frame and sourceFrame are display frames of the part.
  26795.  
  26796. Post conditions
  26797. None.
  26798.  
  26799. æKY ODPart::BeginRelinquishFocus
  26800. Part::BeginRelinquishFocus
  26801. Part->BeginRelinquishFocus
  26802. æT Class Method
  26803. æD ODBoolean BeginRelinquishFocus(
  26804. ODTypeToken focus,
  26805. ODFrame* ownerFrame,
  26806. ODFrame* proposedFrame);
  26807.  
  26808. æC Protection
  26809.     Public.  Called by Arbitrator.
  26810.  
  26811. Override policy
  26812.     Derived class must override.
  26813.     Derived class cannot call base class behavior.
  26814.  
  26815. Basic operation
  26816. Ask a part to give up ownership of a certain focus. The part will
  26817. return whether is can indeed give up that focus.
  26818.  
  26819. Upon receiving this call, a part should decide if it can give up the
  26820. requested focus. If yes, it should prepare to give up the focus, which
  26821. at least means remebering not to get into a state where the focus
  26822. can't be given up between now and when CommitRelinquishFocus is
  26823. called.
  26824.  
  26825. Inputs
  26826. focus
  26827.     The focus type being relinquished.
  26828. ownerFrame
  26829.     The part's frame which has the focus.
  26830. proposedFrame
  26831.     The frame of the other part which requested the focus.
  26832.  
  26833. Outputs
  26834. <return>
  26835.     Whether the part can give up the requested focus.
  26836.  
  26837. Exceptions Signalled
  26838. kODErrInvalidFocus
  26839.     Part doesn't own this focus.
  26840. kODErrInvalidFrame
  26841.     ownerFrame is not a display frame of this part.
  26842.  
  26843. Pre conditions
  26844. Part owns the requested focus.
  26845.  
  26846. Post conditions
  26847. None.
  26848.  
  26849. æKY ODPart::CanvasChanged
  26850. Part::CanvasChanged
  26851. Part->CanvasChanged
  26852. æT Class Method
  26853. æD void CanvasChanged(
  26854. ODFacet* facet);
  26855.  
  26856. æC Protection
  26857.     Public.  Called by facet.
  26858.  
  26859. Override policy
  26860.     Derived class must override.
  26861.     Derived class cannot call base class behavior.
  26862.  
  26863. Basic operation
  26864. Notifies the part that one of its facets has been moved to image on a
  26865. different canvas. The part should update any internal state necessary
  26866. to comply with this.
  26867.  
  26868. Inputs
  26869. facet
  26870.     The facet which has a new canvas.
  26871.  
  26872. Outputs
  26873. None.
  26874.  
  26875. Exceptions Signalled
  26876. None.
  26877.  
  26878. Pre conditions
  26879. None.
  26880.  
  26881. Post conditions
  26882. None.
  26883.  
  26884. æKY ODPart::CanvasUpdated
  26885. Part::CanvasUpdated
  26886. Part->CanvasUpdated
  26887. æT Class Method
  26888. æD void CanvasUpdated(
  26889. ODCanvas* canvas);
  26890.  
  26891. æC Protection
  26892.     Public.  Called by facet.
  26893.  
  26894. Override policy
  26895.     Derived class must override.
  26896.     Derived class cannot call base class behavior.
  26897.  
  26898. Basic operation
  26899. Notify the part that a canvas it owns has been updated and its
  26900. contents need to be copied to its parent canvas.
  26901.  
  26902. The part should do whatever copying it needs to do.
  26903.  
  26904. Inputs
  26905. canvas
  26906.     The canvas which has been updated.
  26907.  
  26908. Outputs
  26909. None.
  26910.  
  26911. Exceptions Signalled
  26912. None.
  26913.  
  26914. Pre conditions
  26915. None.
  26916.  
  26917. Post conditions
  26918. None.
  26919.  
  26920. æKY ODPart::ChangeKind
  26921. Part::ChangeKind
  26922. Part->ChangeKind
  26923. æT Class Method
  26924. æD void ChangeKind(
  26925. ODType kind);
  26926.  
  26927. æC Protection
  26928.     Public.  
  26929.  
  26930. Override policy
  26931.     Derived class must override.
  26932.     Derived class cannot call base class behavior.
  26933.  
  26934. Basic operation
  26935. Ask a part to change into a new kind of content. For instance, ask an
  26936. ASCII Text part to change into a Styled Text part.
  26937.  
  26938. The part should begin using the given kind as its primary kind if it
  26939. is supported.  The first type of the first value in the contents
  26940. property of the part's storage unit should become the given kind.
  26941.  
  26942. Inputs
  26943. kind
  26944.     The new kind for the part.
  26945.  
  26946. Outputs
  26947. None.
  26948.  
  26949. Exceptions Signalled
  26950. kODErrInvalidKind
  26951.     Part does not support that kind of content.
  26952.  
  26953. Pre conditions
  26954. The part supports kind 'kind'.
  26955.  
  26956. Post conditions
  26957. The part's primary kind is 'kind'.
  26958. The first type of the first value in the contents property of the
  26959. part's storage unit is 'kind'.
  26960. When 'ternalized, the part uses this representation.
  26961.  
  26962. æKY ODPart::CloneInto
  26963. Part::CloneInto
  26964. Part->CloneInto
  26965. æT Class Method
  26966. æD void CloneInto(
  26967. ODDraftKey key,
  26968. ODStorageUnit* storageUnit,
  26969. ODStorageUnit* initiatingFrame);
  26970.  
  26971. æC Protection
  26972.     Public.  Mostly called by ODFrame::CloneTo.
  26973.  
  26974. Override policy
  26975.     Derived class must override.
  26976.     Derived class cannot call base class behavior.
  26977.  
  26978. Basic operation
  26979. Externalizes this ODPart into storageUnit.
  26980. In order to avoid copying extra Storage Units during the deep-copy, an
  26981. initiatingFrameSU may be specified. If initiatingFrameSU is not
  26982. kODNULL, only those Storage Units reachable from initiatingFrameSU
  26983. will be copied. If initiatingFrameSU is kODNULL, all the Storage Units
  26984. reachable from this Storage Unit will be copied.
  26985. Note that the actual copying may not be completed until after EndClone
  26986. is finished.
  26987.  
  26988. Inputs
  26989. key
  26990.     ODDraftKey identifying the Clone transaction
  26991. storageUnit
  26992.     ODStorageUnit referring to the destination Storage Unit.
  26993. initiatingFrame
  26994.     initiatingFrame
  26995.  
  26996. Outputs
  26997. None.
  26998.  
  26999. Exceptions Signalled
  27000. None.
  27001.  
  27002. Pre conditions
  27003. None.
  27004.  
  27005. Post conditions
  27006. None.
  27007.  
  27008. æKY ODPart::ClonePartInfo
  27009. Part::ClonePartInfo
  27010. Part->ClonePartInfo
  27011. æT Class Method
  27012. æD void ClonePartInfo(
  27013. ODDraftKey key,
  27014. ODInfoType partInfo,
  27015. ODStorageUnitView* storageUnitView,
  27016. ODFrame* scopeFrame);
  27017.  
  27018. æC Protection
  27019.     Public.  Called by ODFrame::CloneInto().
  27020.  
  27021. Override policy
  27022.     Derived class must override.
  27023.     Derived class cannot call base class behavior.
  27024.  
  27025. Basic operation
  27026. Clone the frame's partInfo data onto the frame's storage unit.
  27027.  
  27028. Inputs
  27029. key
  27030.     ODDraftKey identifying the Clone transaction
  27031. partInfo
  27032.     The partInfo to externalize.
  27033. storageUnitView
  27034.     A view onto a value of the frame's storage unit.
  27035. scopeFrame
  27036.     The frame in whose scope the clone was inititated.
  27037.  
  27038. Outputs
  27039. None.
  27040.  
  27041. Exceptions Signalled
  27042. None.
  27043.  
  27044. Pre conditions
  27045. None.
  27046.  
  27047. Post conditions
  27048. None.
  27049.  
  27050. æKY ODPart::CommitRelinquishFocus
  27051. Part::CommitRelinquishFocus
  27052. Part->CommitRelinquishFocus
  27053. æT Class Method
  27054. æD void CommitRelinquishFocus(
  27055. ODTypeToken focus,
  27056. ODFrame* ownerFrame,
  27057. ODFrame* proposedFrame);
  27058.  
  27059. æC Protection
  27060.     Public.  Called by Arbitrator.
  27061.  
  27062. Override policy
  27063.     Derived class must override.
  27064.     Derived class cannot call base class behavior.
  27065.  
  27066. Basic operation
  27067. Complete giving up ownership of a focus, which was started in
  27068. Part::BeginRelinquishFocus().
  27069.  
  27070. Part should complete process of relinquishing ownership of focus,
  27071. releasing whatever external resources are associated with that focus.
  27072.  
  27073. Inputs
  27074. focus
  27075.     The focus type being relinquished.
  27076. ownerFrame
  27077.     The part's frame which has the focus.
  27078. proposedFrame
  27079.     The frame of the other part which requested the focus.
  27080.  
  27081. Outputs
  27082. None.
  27083.  
  27084. Exceptions Signalled
  27085. kODErrInvalidFocus
  27086.     Part doesn't own this focus.
  27087. kODErrNotPrepared
  27088.     Part hasn't prepared to relinqush focus.
  27089. kODErrInvalidFrame
  27090.     ownerFrame is not a display frame of this part.
  27091.  
  27092. Pre conditions
  27093. None.
  27094.  
  27095. Post conditions
  27096. None.
  27097.  
  27098. æKY ODPart::ContainingPartPropertiesChanged
  27099. Part::ContainingPartPropertiesChanged
  27100. Part->ContainingPartPropertiesChanged
  27101. æT Class Method
  27102. æD void ContainingPartPropertiesChanged(
  27103. ODFrame* frame,
  27104. ODStorageUnit* propertyUnit);
  27105.  
  27106. æC Protection
  27107.     Public.  
  27108.  
  27109. Override policy
  27110.     Derived class must override.
  27111.     Derived class cannot call base class behavior.
  27112.  
  27113. Basic operation
  27114. Used by my ContainingPart to inform this part of changes to content
  27115. properties of its proxy for this part.
  27116.  
  27117. Inspect "propertyUnit" for properties this part can understand. Where
  27118. applicable, incorporate those properties into part's conent data.
  27119. Ignore inapplicable properties, without signalling an error.
  27120.  
  27121. Inputs
  27122. frame
  27123.     frame
  27124. propertyUnit
  27125.     propertyUnit
  27126.  
  27127. Outputs
  27128. None.
  27129.  
  27130. Exceptions Signalled
  27131. None.
  27132.  
  27133. Pre conditions
  27134. None.
  27135.  
  27136. Post conditions
  27137. None.
  27138.  
  27139. æKY ODPart::CreateEmbeddedFramesIterator
  27140. Part::CreateEmbeddedFramesIterator
  27141. Part->CreateEmbeddedFramesIterator
  27142. æT Class Method
  27143. æD ODEmbeddedFramesIterator* CreateEmbeddedFramesIterator(
  27144. ODFrame* frame);
  27145.  
  27146. æC Protection
  27147.     Public.  
  27148.  
  27149. Override policy
  27150.     Derived class must override.
  27151.     Derived class cannot call base class behavior.
  27152.  
  27153. Basic operation
  27154. Create an object which will iterate the frames embedded within a
  27155. display frame of this part.
  27156.  
  27157. Inputs
  27158. frame
  27159.     A display frame of this part, or kODNULL to indicate all display
  27160. frames.
  27161.  
  27162. Outputs
  27163. <return>
  27164.     The iterator. Caller must delete when done using.
  27165.  
  27166. Exceptions Signalled
  27167. kODErrOutOfMemory
  27168.     Not enough memory to allocate iterator.
  27169. kODErrCannotEmbed
  27170.     This part does not support embedding.
  27171. kODErrInvalidFrame
  27172.     frame is not a display frame of this part.
  27173.  
  27174. Pre conditions
  27175. None.
  27176.  
  27177. Post conditions
  27178. None.
  27179.  
  27180. æKY ODPart::CreateLink
  27181. Part::CreateLink
  27182. Part->CreateLink
  27183. æT Class Method
  27184. æD ODLinkSource* CreateLink(
  27185. ODByteArray* data);
  27186.  
  27187. æC Protection
  27188.     Public.  Should not be called directly by parts.  Parts call
  27189. ODDraft::GetLink().
  27190.  
  27191. Override policy
  27192.     Derived class must override.
  27193.     Derived class cannot call base class behavior.
  27194.  
  27195. Basic operation
  27196. If a link already exists to the content identified by the data
  27197. argument, return the link source object; otherwise, create a new link
  27198. source object, put in the initial content and return it to the caller.
  27199. The caller must decrement the reference count of the returned link
  27200. source object  when finished with the object.
  27201.  
  27202. The called part must not dispose the data argument.
  27203.  
  27204. Identify the content to be linked (by resolving the object specifier
  27205. saved in the data parameter, or by some other means). Create a link
  27206. source object to represent the content data. The part must maintain
  27207. information about what portion of its contents have been linked to so
  27208. that it may notify link clients when that data has been changed. The
  27209. link source created is returned to the caller.
  27210.  
  27211. Inputs
  27212. data
  27213.     A description of the content object to link to, as stored by this part
  27214. in a link spec.  The part must not dispose this argument.
  27215.  
  27216. Outputs
  27217. <return>
  27218.     The link object.
  27219.  
  27220. Exceptions Signalled
  27221. kODErrCantLink
  27222.     Part does not support linking protocol.
  27223. kODErrInvalidLinkData
  27224.     Could not identify content for link. 
  27225. kODErrOutOfMemory
  27226.     Not enough memory to allocate link object.
  27227.  
  27228. Pre conditions
  27229. The data identifies some portion of this part's contents.
  27230.  
  27231. Post conditions
  27232. This part maintains a link to the identified content.  The caller must
  27233. decrement the reference count of the returned link source object  when
  27234. finished with the object.
  27235.  
  27236. æKY ODPart::DisplayFrameAdded
  27237. Part::DisplayFrameAdded
  27238. Part->DisplayFrameAdded
  27239. æT Class Method
  27240. æD void DisplayFrameAdded(
  27241. ODFrame* frame);
  27242.  
  27243. æC Protection
  27244.     Public.  Only called by Frames during their initialization.
  27245.  
  27246. Override policy
  27247.     Derived class must override.
  27248.     Derived class cannot call base class behavior.
  27249.  
  27250. Basic operation
  27251. Tell a part to add "frame" as one of its display frames.
  27252.  
  27253. The part must record "frame" in whatever internal structures it uses
  27254. to remember its display frames. The new frame will carry suggested
  27255. viewType and presentation information. The part should look at those
  27256. settings, and decide if it can support them; if not, it should update
  27257. those settings in the frame to reflect a default presentation it can
  27258. support. Note the part must support the required set of standard
  27259. viewTypes (frame, icon, small icon, thumbnail, etc.). The part will
  27260. then create the appropriate partInfo data and store it in the frame.
  27261. This data lets the part distinguish the frame from its other display
  27262. frames, and is also a handy place to store other view-related
  27263. information.
  27264.  
  27265. Inputs
  27266. frame
  27267.     The new frame to add.
  27268.  
  27269. Outputs
  27270. None.
  27271.  
  27272. Exceptions Signalled
  27273. None.
  27274.  
  27275. Pre conditions
  27276. None.
  27277.  
  27278. Post conditions
  27279. None.
  27280.  
  27281. æKY ODPart::DisplayFrameClosed
  27282. Part::DisplayFrameClosed
  27283. Part->DisplayFrameClosed
  27284. æT Class Method
  27285. æD void DisplayFrameClosed(
  27286. ODFrame* frame);
  27287.  
  27288. æC Protection
  27289.     Public.  Called by Frame.
  27290.  
  27291. Override policy
  27292.     Derived class must override.
  27293.     Derived class cannot call base class behavior.
  27294.  
  27295. Basic operation
  27296. Tell a part one of its display frames is closing.
  27297.  
  27298. The part should remove "frame" from its list of display frames, call
  27299. Frame::Close() on any frames embedded within that frame, and release
  27300. the frame.
  27301.  
  27302. Inputs
  27303. frame
  27304.     The frame which was closed.
  27305.  
  27306. Outputs
  27307. None.
  27308.  
  27309. Exceptions Signalled
  27310. kODErrInvalidFrame
  27311.     frame is not a display frame of this part.
  27312.  
  27313. Pre conditions
  27314. None.
  27315.  
  27316. Post conditions
  27317. None.
  27318.  
  27319. æKY ODPart::DisplayFrameConnected
  27320. Part::DisplayFrameConnected
  27321. Part->DisplayFrameConnected
  27322. æT Class Method
  27323. æD void DisplayFrameConnected(
  27324. ODFrame* frame);
  27325.  
  27326. æC Protection
  27327.     Public.  Called by Frame::GetPart().
  27328.  
  27329. Override policy
  27330.     Derived class must override.
  27331.     Derived class cannot call base class behavior.
  27332.  
  27333. Basic operation
  27334. A part which has been saved in a document will later be internalized.
  27335. That part will have references to its display frames, but it can be
  27336. lazy and leave internalization of those frames untill they are needed.
  27337. If one of those display frames is later internalized its the
  27338. containing part, the frame will notify the part using this method so
  27339. that the part may add the frame to its runtime list of display frames.
  27340. The part should also validate relevant information in the frame, such
  27341. as presentation.
  27342.  
  27343. Inputs
  27344. frame
  27345.     The frame which was connected.
  27346.  
  27347. Outputs
  27348. None.
  27349.  
  27350. Exceptions Signalled
  27351. kODErrInvalidFrame
  27352.     frame is not a display frame of this part.
  27353.  
  27354. Pre conditions
  27355. None.
  27356.  
  27357. Post conditions
  27358. None.
  27359.  
  27360. æKY ODPart::DisplayFrameRemoved
  27361. Part::DisplayFrameRemoved
  27362. Part->DisplayFrameRemoved
  27363. æT Class Method
  27364. æD void DisplayFrameRemoved(
  27365. ODFrame* frame);
  27366.  
  27367. æC Protection
  27368.     Public.  Called by Frame::Remove().
  27369.  
  27370. Override policy
  27371.     Derived class must override.
  27372.     Derived class cannot call base class behavior.
  27373.  
  27374. Basic operation
  27375. Remove a frame viewing the part.
  27376.  
  27377. Remove the frame from my list of display frames. Make whatever other
  27378. adjustments are necessary to deal with removing one of my
  27379. presentations. This would include removing any frames embedded within
  27380. this display frame.
  27381.  
  27382. Inputs
  27383. frame
  27384.     A display frame of this part.
  27385.  
  27386. Outputs
  27387. None.
  27388.  
  27389. Exceptions Signalled
  27390. kODErrInvalidFrame
  27391.     frame is not a display frame of this part.
  27392.  
  27393. Pre conditions
  27394. frame has no facets.
  27395.  
  27396. Post conditions
  27397. None.
  27398.  
  27399. æKY ODPart::DisposeActionState
  27400. Part::DisposeActionState
  27401. Part->DisposeActionState
  27402. æT Class Method
  27403. æD void DisposeActionState(
  27404. ODActionData actionState,
  27405. ODDoneState doneState);
  27406.  
  27407. æC Protection
  27408.     Public.  Called by Undo.
  27409.  
  27410. Override policy
  27411.     Derived class must override.
  27412.     Derived class cannot call base class behavior.
  27413.  
  27414. Basic operation
  27415. Tell the part to dispose of the action data.
  27416.  
  27417. Inputs
  27418. actionState
  27419.     Information previously logged by the part to allow it to undo the
  27420. action.
  27421. doneState
  27422.     State of the undo action. It is kDone or kReDone if the action was on
  27423. the document's Undo stack, and kUndone if it was on the Redo stack.
  27424.  
  27425. Outputs
  27426. None.
  27427.  
  27428. Exceptions Signalled
  27429. kODErrInvalidUndo
  27430.     Not an undo action of this part.
  27431.  
  27432. Pre conditions
  27433. "actionState" is an action data block previously logged by this part.
  27434.  
  27435. Post conditions
  27436. Memory for "actionState" has been reclaimed. It is no longer usable to
  27437. perform undo operations.
  27438.  
  27439. æKY ODPart::DragEnter
  27440. Part::DragEnter
  27441. Part->DragEnter
  27442. æT Class Method
  27443. æD ODBoolean DragEnter(
  27444. ODDragItemIterator* dragInfo,
  27445. ODFacet* facet,
  27446. ODPoint where);
  27447.  
  27448. æC Protection
  27449.     Public.  Called by Facet.
  27450.  
  27451. Override policy
  27452.     Derived class must override.
  27453.     Derived class cannot call base class behavior.
  27454.  
  27455. Basic operation
  27456. Activate the part to track the drag.
  27457.  
  27458. The part should display a drag target border within the facet. During
  27459. drag tracking (DragEnter, DragWithin) the part should never attempt to
  27460. read data from any of the storage units supplied by the iterator.  The
  27461. part should only inspect the type of the dragged data.
  27462.  
  27463. If the part can accept a drop, it should return kODTrue. Otherwise, it
  27464. should return kODFalse.
  27465.  
  27466. Inputs
  27467. dragInfo
  27468.     A drag item iterator describing the contents, and types and values of
  27469. the dragged data.
  27470. facet
  27471.     The facet of the part the drag is in.
  27472. where
  27473.     The mouse coords of the drag, in frame coordinates.
  27474.  
  27475. Outputs
  27476. <return>
  27477.     boolean showing whether the Part can accept a drop.
  27478.  
  27479. Exceptions Signalled
  27480. None.
  27481.  
  27482. Pre conditions
  27483. None.
  27484.  
  27485. Post conditions
  27486. Part is ready to receive DrawWithin messages.
  27487.  
  27488. æKY ODPart::DragLeave
  27489. Part::DragLeave
  27490. Part->DragLeave
  27491. æT Class Method
  27492. æD void DragLeave(
  27493. ODFacet* facet,
  27494. ODPoint where);
  27495.  
  27496. æC Protection
  27497.     Public.  Called by Facet.
  27498.  
  27499. Override policy
  27500.     Derived class must override.
  27501.     Derived class cannot call base class behavior.
  27502.  
  27503. Basic operation
  27504. Drag operation is complete, so deactivate part from drag tracking.
  27505.  
  27506. Un-highlight any content previously highlighted during drag tracking.
  27507. Remove drag target border.
  27508.  
  27509. Inputs
  27510. facet
  27511.     The facet of the part the drag is in.
  27512. where
  27513.     The mouse coords of the drag, in frame coordinates.
  27514.  
  27515. Outputs
  27516. None.
  27517.  
  27518. Exceptions Signalled
  27519. kODErrNotDragging
  27520.     Part has not received a DragEnter call.
  27521.  
  27522. Pre conditions
  27523. The part was previously activated via DragEnter().
  27524.  
  27525. Post conditions
  27526. Part is no longer active, and cannot receive further DragWithin() or
  27527. Drop() messages.
  27528.  
  27529. æKY ODPart::DragWithin
  27530. Part::DragWithin
  27531. Part->DragWithin
  27532. æT Class Method
  27533. æD ODBoolean DragWithin(
  27534. ODDragItemIterator* dragInfo,
  27535. ODFacet* facet,
  27536. ODPoint where);
  27537.  
  27538. æC Protection
  27539.     Public.  
  27540.  
  27541. Override policy
  27542.     Derived class must override.
  27543.     Derived class cannot call base class behavior.
  27544.  
  27545. Basic operation
  27546. Track the drag. Provide graphical feedback about possible drop
  27547. targets.
  27548.  
  27549. Track the drag operation. Highlight appropriate content to provide
  27550. feedback about potential drop targets, based on type of dragged data.
  27551. Get the type information out of the dragInfo. During drag tracking
  27552. (DragEnter, DragWithin) the part should never attempt to read data
  27553. from any of the storage units supplied by the iterator.  The part
  27554. should only inspect the type of the dragged data.
  27555.  
  27556.  
  27557. If the part can accept a drop, it should return kODTrue. Otherwise, it
  27558. should return kODFalse.
  27559.  
  27560. Inputs
  27561. dragInfo
  27562.     A drag item iterator describing the contents, and types and values of
  27563. the dragged data.
  27564. facet
  27565.     The facet of the part the drag is in.
  27566. where
  27567.     The mouse coords of the drag, in frame coordinates.
  27568.  
  27569. Outputs
  27570. <return>
  27571.     boolean showing whether the part can receive a drop.
  27572.  
  27573. Exceptions Signalled
  27574. kODErrNotDragging
  27575.     Part has not received a DragEnter call.
  27576.  
  27577. Pre conditions
  27578. The part was previously activated via DragEnter().
  27579.  
  27580. Post conditions
  27581. None.
  27582.  
  27583. æKY ODPart::Draw
  27584. Part::Draw
  27585. Part->Draw
  27586. æT Class Method
  27587. æD void Draw(
  27588. ODFacet* facet,
  27589. ODShape* invalidShape);
  27590.  
  27591. æC Protection
  27592.     Public.  Called by Facet.
  27593.  
  27594. Override policy
  27595.     Derived class must override.
  27596.     Derived class cannot call base class behavior.
  27597.  
  27598. Basic operation
  27599. Draw the part in the facet, updating the portion of the facet in the
  27600. invalidShape.
  27601.  
  27602. The part should draw itself on the facet's canvas. The part must
  27603. examine its canvas' isDynamic flag to determine if it will be drawing
  27604. on the screen or to a printer, and draw itself appropriately.
  27605.  
  27606. Inputs
  27607. facet
  27608.     The facet in which to draw the part.
  27609. invalidShape
  27610.     The portion of the facet to update. In frame coordinates.
  27611.  
  27612. Outputs
  27613. None.
  27614.  
  27615. Exceptions Signalled
  27616. kODErrInvalidFrame
  27617.     "frame" isn't one of my display frames.
  27618.  
  27619. Pre conditions
  27620. None.
  27621.  
  27622. Post conditions
  27623. None.
  27624.  
  27625. æKY ODPart::Drop
  27626. Part::Drop
  27627. Part->Drop
  27628. æT Class Method
  27629. æD ODDropResult Drop(
  27630. ODDragItemIterator* dropInfo,
  27631. ODFacet* facet,
  27632. ODPoint where);
  27633.  
  27634. æC Protection
  27635.     Public.  Called by Facet.
  27636.  
  27637. Override policy
  27638.     Derived class must override.
  27639.     Derived class cannot call base class behavior.
  27640.  
  27641. Basic operation
  27642. Transfer the dragged data into this part.
  27643.  
  27644. Respond to the Drop operation. This might involve moving or copying
  27645. data in to the part, or some other response entirely. However, the
  27646. response should use the data returned from the dropInfo iterator to
  27647. perform the operation.
  27648.  
  27649. Inputs
  27650. dropInfo
  27651.     A drag item iterator describing the contents, and types and values of
  27652. the dragged data.
  27653. facet
  27654.     The facet of the part the drag is in.
  27655. where
  27656.     The mouse coords of the drag, in frame coordinates.
  27657.  
  27658. Outputs
  27659. <return>
  27660.     <return>
  27661.  
  27662. Exceptions Signalled
  27663. kODErrNotDragging
  27664.     Part hasn't received a DragEnter message.
  27665.  
  27666. Pre conditions
  27667. The part was previously activated via DragEnter().
  27668.  
  27669. Post conditions
  27670. None.
  27671.  
  27672. æKY ODPart::DropCompleted
  27673. Part::DropCompleted
  27674. Part->DropCompleted
  27675. æT Class Method
  27676. æD void DropCompleted(
  27677. ODPart* destPart,
  27678. ODDropResult dropResult);
  27679.  
  27680. æC Protection
  27681.     Public.  Called by DragAndDrop.
  27682.  
  27683. Override policy
  27684.     Derived class must override.
  27685.     Derived class cannot call base class behavior.
  27686.  
  27687. Basic operation
  27688. NotifyDropComplete is a peculiar method. If DragAndDrop::StartDrag is
  27689. synchronous, the return code to DragAndDrop::StartDrag is the drop
  27690. result. Part::DropCompleted does not need to be called. However, if it
  27691. is required that DragAndDrop::StartDrag returns immediately, there
  27692. needs to be a way to notify the result of  the drop.
  27693.  
  27694. Inputs
  27695. destPart
  27696.     The destination part of the drag.
  27697. dropResult
  27698.     The result code of the drop operation.
  27699.  
  27700. Outputs
  27701. None.
  27702.  
  27703. Exceptions Signalled
  27704. None.
  27705.  
  27706. Pre conditions
  27707. Part previously started an asynchronous drag.
  27708.  
  27709. Post conditions
  27710. None.
  27711.  
  27712. æKY ODPart::EditInLinkAttempted
  27713. Part::EditInLinkAttempted
  27714. Part->EditInLinkAttempted
  27715. æT Class Method
  27716. æD ODBoolean EditInLinkAttempted(
  27717. ODFrame* frame);
  27718.  
  27719. æC Protection
  27720.     Public.  Parts do not call this method directly.  Parts call
  27721. ODFrame::EditInLink.
  27722.  
  27723. Override policy
  27724.     Derived class can override.
  27725.     Derived class can call base class behavior.
  27726.  
  27727. Basic operation
  27728. Notifies the part that the user attempted to edit content in the
  27729. argument embedded frame.  Without making itself active, this part
  27730. should display a dialog informing the user of the attempted edit to
  27731. linked content, and allow the user to find the source of the link or
  27732. break the link.  If the user chooses to break the link, this part will
  27733. change the link status of the embedded frame; the user can then retry
  27734. the editing operation in the still-active frame.
  27735.  
  27736. This method returns kODTrue if it maintains a link destination that
  27737. includes the argument embedded frame.  If it doesn't maintain such a
  27738. link destination, it should return kODFalse.
  27739.  
  27740. Only parts that implement linking and embedding  must implement this
  27741. method.  The inherited implementation returns kODFalse, appropriate
  27742. for parts that don't support both linking and embedding.
  27743.  
  27744. Inputs
  27745. frame
  27746.     The embedded frame of this part in which the edit was attempted.
  27747.  
  27748. Outputs
  27749. <return>
  27750.     kODTrue if the part maintains the destination of a link that includes
  27751. the argument embedded frame, and kODFalse otherwise.
  27752.  
  27753. Exceptions Signalled
  27754. None.
  27755.  
  27756. Pre conditions
  27757. The argument frame is an embedded frame of this part.
  27758.  
  27759. Post conditions
  27760. None.
  27761.  
  27762. æKY ODPart::EmbeddedFrameChanged
  27763. Part::EmbeddedFrameChanged
  27764. Part->EmbeddedFrameChanged
  27765. æT Class Method
  27766. æD void EmbeddedFrameChanged(
  27767. ODFrame* frame,
  27768. ODChangeID change);
  27769.  
  27770. æC Protection
  27771.     Public.  Called by an ODFrame object belonging to an embedded part when the
  27772. frame object's ContentChanged method is called.
  27773.  
  27774. Override policy
  27775.     Derived class must override.
  27776.     Derived class cannot call base class behavior.
  27777.  
  27778. Basic operation
  27779. Notifies the containing part that content displayed in the argument
  27780. embedded frame has changed. The part should call the ContentChanged
  27781. method of any of its frames that would be interested in this
  27782. information. This method should only be called by frame objects.  The
  27783. part is not responsible for passing this notification on to its
  27784. containing part.  The part may ignore this notification if it is
  27785. uninterested in changes to embedded content. A part should wait a
  27786. certain length of time (a second perhaps) before updating its display
  27787. so that subsequent calls to EmbeddedFrameChanged with the same
  27788. ODChangeID don’t result in multiple updates for the same change.
  27789.  
  27790. Inputs
  27791. frame
  27792.     The embedded frame whose contents have changed.
  27793. change
  27794.     A unique change ID.
  27795.  
  27796. Outputs
  27797. None.
  27798.  
  27799. Exceptions Signalled
  27800. None.
  27801.  
  27802. Pre conditions
  27803. None.
  27804.  
  27805. Post conditions
  27806. The ContentChanged method of any of the part's frames may have been
  27807. called and the part may have taken action to update its display.
  27808.  
  27809. æKY ODPart::EmbeddedFrameSpec
  27810. Part::EmbeddedFrameSpec
  27811. Part->EmbeddedFrameSpec
  27812. æT Class Method
  27813. æD void EmbeddedFrameSpec(
  27814. ODFrame* embeddedFrame,
  27815. ODObjectSpec* spec);
  27816.  
  27817. æC Protection
  27818.     Public.  
  27819.  
  27820. Override policy
  27821.     Derived class must override.
  27822.     Derived class cannot call base class behavior.
  27823.  
  27824. Basic operation
  27825. Create an object specifier for the embedded frame.
  27826.  
  27827. If this part is itself embedded, ask its containing part for the
  27828. specifier for the part's display frame, then concatenate the specifier
  27829. for the embedded frame to that.
  27830.  
  27831. Inputs
  27832. embeddedFrame
  27833.     The frame to create a specifier for.
  27834.  
  27835. Outputs
  27836. spec
  27837.     The frame's specifier.
  27838.  
  27839. Exceptions Signalled
  27840. kODErrInvalidFrame
  27841.     embeddedFrame is not an embedded frame of this part.
  27842.  
  27843. Pre conditions
  27844. None.
  27845.  
  27846. Post conditions
  27847. None.
  27848.  
  27849. æKY ODPart::ExternalizeKinds
  27850. Part::ExternalizeKinds
  27851. Part->ExternalizeKinds
  27852. æT Class Method
  27853. æD void ExternalizeKinds(
  27854. ODTypeList* kindList);
  27855.  
  27856. æC Protection
  27857.     Public.  
  27858.  
  27859. Override policy
  27860.     Derived class must override.
  27861.     Derived class cannot call base class behavior.
  27862.  
  27863. Basic operation
  27864. The part should iterate through all the kinds in 'kindList', and
  27865. externalize a representation for each that it supports.  This call
  27866. does not specify anything about the ordering of those kinds in the
  27867. contents property.  The part should externalize representations
  27868. according to its order of fidelity, highest fidelity first.
  27869.  
  27870. Inputs
  27871. kindList
  27872.     The list of kinds the part should attempt to externalize.
  27873.  
  27874. Outputs
  27875. None.
  27876.  
  27877. Exceptions Signalled
  27878. None.
  27879.  
  27880. Pre conditions
  27881. The part supports a subset of the kinds in 'kindList'.
  27882.  
  27883. Post conditions
  27884. The contents property of the part has a value and representation for
  27885. each kind in 'kindList' supported.
  27886.  
  27887. æKY ODPart::FacetAdded
  27888. Part::FacetAdded
  27889. Part->FacetAdded
  27890. æT Class Method
  27891. æD void FacetAdded(
  27892. ODFacet* facet);
  27893.  
  27894. æC Protection
  27895.     Public.  Called by a display frame of the part.
  27896.  
  27897. Override policy
  27898.     Derived class must override.
  27899.     Derived class cannot call base class behavior.
  27900.  
  27901. Basic operation
  27902. Notify the part that a facet has been added to one of its display
  27903. frames.
  27904.  
  27905. If the part does not display asynchronously and itsn't a containing
  27906. part, it doesn't need to do anything in response to this call. If the
  27907. part displays asynchronously, it must make sure to draw in the new
  27908. facet as well. If the part has embedded frames, it must create facets
  27909. for them.
  27910.  
  27911. Inputs
  27912. facet
  27913.     The facet added.
  27914.  
  27915. Outputs
  27916. None.
  27917.  
  27918. Exceptions Signalled
  27919. kODErrUnknownCanvasType
  27920.     The part is unable to render itself on the facet's canvas.
  27921.  
  27922. Pre conditions
  27923. None.
  27924.  
  27925. Post conditions
  27926. None.
  27927.  
  27928. æKY ODPart::FacetRemoved
  27929. Part::FacetRemoved
  27930. Part->FacetRemoved
  27931. æT Class Method
  27932. æD void FacetRemoved(
  27933. ODFacet* facet);
  27934.  
  27935. æC Protection
  27936.     Public.  Called by a display frame of this part.
  27937.  
  27938. Override policy
  27939.     Derived class must override.
  27940.     Derived class cannot call base class behavior.
  27941.  
  27942. Basic operation
  27943. Notify the part that a facet has been removed from one of its display
  27944. frames.
  27945.  
  27946. If the part does not display asynchronously and itsn't a containing
  27947. part, it doesn't need to do anything in response to this call. If the
  27948. part displays asynchronously, it must stop drawing in the facet. If
  27949. the part has embedded frames, it must remove their facets as well.
  27950.  
  27951. Inputs
  27952. facet
  27953.     The facet being removed.
  27954.  
  27955. Outputs
  27956. None.
  27957.  
  27958. Exceptions Signalled
  27959. kODErrInvalidFacet
  27960.     facet is not a facet of this part.
  27961.  
  27962. Pre conditions
  27963. None.
  27964.  
  27965. Post conditions
  27966. None.
  27967.  
  27968. æKY ODPart::FocusAcquired
  27969. Part::FocusAcquired
  27970. Part->FocusAcquired
  27971. æT Class Method
  27972. æD void FocusAcquired(
  27973. ODTypeToken focus,
  27974. ODFrame* ownerFrame);
  27975.  
  27976. æC Protection
  27977.     Public.  
  27978.  
  27979. Override policy
  27980.     Derived class must override.
  27981.     Derived class cannot call base class behavior.
  27982.  
  27983. Basic operation
  27984. A notification to the part that one of its frames has acquired the
  27985. specified focus. Called when a document is opened, for example.
  27986.  
  27987. The part makes whatever response is necessary for acquiring the focus.
  27988. For instance, acquiring the selection focus might cause a part to
  27989. highlight its text selection.
  27990.  
  27991. Inputs
  27992. focus
  27993.     The focus type to acquire.
  27994. ownerFrame
  27995.     The frame which gets the focus.
  27996.  
  27997. Outputs
  27998. None.
  27999.  
  28000. Exceptions Signalled
  28001. kODErrInvalidFocus
  28002.     Part cannot own this focus.
  28003. kODErrInvalidFrame
  28004.     ownerFrame is not a display frame of this part.
  28005.  
  28006. Pre conditions
  28007. None.
  28008.  
  28009. Post conditions
  28010. None.
  28011.  
  28012. æKY ODPart::FocusLost
  28013. Part::FocusLost
  28014. Part->FocusLost
  28015. æT Class Method
  28016. æD void FocusLost(
  28017. ODTypeToken focus,
  28018. ODFrame* ownerFrame);
  28019.  
  28020. æC Protection
  28021.     Public.  
  28022.  
  28023. Override policy
  28024.     Derived class must override.
  28025.     Derived class cannot call base class behavior.
  28026.  
  28027. Basic operation
  28028. Notify the part that a focus has unexpectedly been lost.
  28029.  
  28030. Take whatever actions necessary to recover from having lost the focus,
  28031. i.e. close connections, de-highlight selection, etc.
  28032.  
  28033. Inputs
  28034. focus
  28035.     The focus which was lost.
  28036. ownerFrame
  28037.     The frame from which the focus was lost.
  28038.  
  28039. Outputs
  28040. None.
  28041.  
  28042. Exceptions Signalled
  28043. kODErrInvalidFocus
  28044.     Part doesn't own this focus.
  28045. kODErrInvalidFrame
  28046.     ownerFrame is not a display frame of this part.
  28047.  
  28048. Pre conditions
  28049. None.
  28050.  
  28051. Post conditions
  28052. None.
  28053.  
  28054. æKY ODPart::FrameShapeChanged
  28055. Part::FrameShapeChanged
  28056. Part->FrameShapeChanged
  28057. æT Class Method
  28058. æD void FrameShapeChanged(
  28059. ODFrame* frame);
  28060.  
  28061. æC Protection
  28062.     Public.  Called by Frame::ChangeFrameShape
  28063.  
  28064. Override policy
  28065.     Derived class must override.
  28066.     Derived class cannot call base class behavior.
  28067.  
  28068. Basic operation
  28069. Notify the part that the frame shape of one of its display frames has
  28070. been changed by its containing part.
  28071.  
  28072. The part should take whatever actions are necessary to respond to the
  28073. new shape. It may need to re-layout its content, change its used
  28074. shape, resize its embedded frames, or something else. It also has the
  28075. option of turning around and asking the frame for a different frame
  28076. shape via RequestFrameShape, though it must be able to handle the
  28077. shape it is given. If the size of the frame is not sufficient, the
  28078. part may ask the containing part for a continuation frame via
  28079. CreatEmbeddedFrame.
  28080.  
  28081. Inputs
  28082. frame
  28083.     The frame being rehaped.
  28084.  
  28085. Outputs
  28086. None.
  28087.  
  28088. Exceptions Signalled
  28089. kODErrInvalidFrame
  28090.     frame is not a display frame of this part.
  28091.  
  28092. Pre conditions
  28093. None.
  28094.  
  28095. Post conditions
  28096. None.
  28097.  
  28098. æKY ODPart::FulfillPromise
  28099. Part::FulfillPromise
  28100. Part->FulfillPromise
  28101. æT Class Method
  28102. æD void FulfillPromise(
  28103. ODStorageUnitView *promiseSUView);
  28104.  
  28105. æC Protection
  28106.     Public.  
  28107.  
  28108. Override policy
  28109.     Derived class must override.
  28110.     Derived class cannot call base class behavior.
  28111.  
  28112. Basic operation
  28113. Fulfill a previously made promise by providing the actual data the
  28114. promise represents.  The promiseSUView is a view into the same storage
  28115. unit value created by SetPromiseValue. The information about the
  28116. promise is encoded in the promiseSUView in the Part Handler's own
  28117. internal format. The promise data is written into the promiseSUView
  28118. replacing the data stored in the Part Handler's format.
  28119.  
  28120. When the promise was made, a record of it was kept by this part. The
  28121. promiseSUView contains the part's information for that promise. The
  28122. part uses the data in the  promiseSUView to determine which data to
  28123. move/copy.  The part then writes the data into the promiseSUView.
  28124.  
  28125. Inputs
  28126. promiseSUView
  28127.     A view into the storage unit containing the promise value
  28128.  
  28129. Outputs
  28130. None.
  28131.  
  28132. Exceptions Signalled
  28133. kODErrInvalidPromise
  28134.     The part did not make this promise.
  28135.  
  28136. Pre conditions
  28137. None.
  28138.  
  28139. Post conditions
  28140. None.
  28141.  
  28142. æKY ODPart::GeometryChanged
  28143. Part::GeometryChanged
  28144. Part->GeometryChanged
  28145. æT Class Method
  28146. æD void GeometryChanged(
  28147. ODFacet* facet,
  28148. ODBoolean clipShapeChanged,
  28149. ODBoolean externalTransformChanged);
  28150.  
  28151. æC Protection
  28152.     Public.  Called by Facet.
  28153.  
  28154. Override policy
  28155.     Derived class must override.
  28156.     Derived class cannot call base class behavior.
  28157.  
  28158. Basic operation
  28159. Called by a facet of the part to inform it that the clipping shape
  28160. and/or external transform of that facet has changed.
  28161.  
  28162. The part should use the new clip shape for display from now on. Parts
  28163. which display only in response to update events don't need to do
  28164. anything special, provided they check the clip shape each time they
  28165. draw. Parts which display asynchronously (like clocks, movies, etc.)
  28166. must notice their new clipping and limit their display accordingly.
  28167.  
  28168. Inputs
  28169. facet
  28170.     Facet where clip shape has changed.
  28171. clipShapeChanged
  28172.     Whether the clipShape has changed.
  28173. externalTransformChanged
  28174.     Whether the externalTransform has changed.
  28175.  
  28176. Outputs
  28177. None.
  28178.  
  28179. Exceptions Signalled
  28180. kODErrInvalidFacet
  28181.     facet is not a facet of this part.
  28182.  
  28183. Pre conditions
  28184. None.
  28185.  
  28186. Post conditions
  28187. None.
  28188.  
  28189. æKY ODPart::GetContainingPartProperties
  28190. Part::GetContainingPartProperties
  28191. Part->GetContainingPartProperties
  28192. æT Class Method
  28193. æD ODStorageUnit* GetContainingPartProperties(
  28194. ODFrame* frame);
  28195.  
  28196. æC Protection
  28197.     Public.  Called by an embedded part.
  28198.  
  28199. Override policy
  28200.     Derived class must override.
  28201.     Derived class cannot call base class behavior.
  28202.  
  28203. Basic operation
  28204. Used by an embedded Part to ask this Containing Part of changes to
  28205. content properties of the proxy for it.
  28206.  
  28207. Create a storage unit, write properties containing part associates
  28208. with the embedded frame into it, and return it.
  28209.  
  28210. Inputs
  28211. frame
  28212.     An embedded frame of this part.
  28213.  
  28214. Outputs
  28215. <return>
  28216.     A storage unit containing the container properties for the specified
  28217. frame. Caller has responsibility for deallocating storage.
  28218.  
  28219. Exceptions Signalled
  28220. kODErrCannotEmbed
  28221.     This part does not support embedding.
  28222. kODErrInvalidFrame
  28223.     frame is not an embedded frame of this part.
  28224.  
  28225. Pre conditions
  28226. None.
  28227.  
  28228. Post conditions
  28229. None.
  28230.  
  28231. æKY ODPart::GetPrintResolution
  28232. Part::GetPrintResolution
  28233. Part->GetPrintResolution
  28234. æT Class Method
  28235. æD ODULong GetPrintResolution(
  28236. ODFrame* frame);
  28237.  
  28238. æC Protection
  28239.     Public.  Called by part or app performing printing.
  28240.  
  28241. Override policy
  28242.     Derived class must override.
  28243.     Derived class cannot call base class behavior.
  28244.  
  28245. Basic operation
  28246. Return the minimum desired resolution in dots per inch this part
  28247. requires for printing the contents of the specified frame.
  28248.  
  28249. Inputs
  28250. frame
  28251.     The frame for which the resolution is needed.
  28252.  
  28253. Outputs
  28254. <return>
  28255.     The desired resolution in dots per inch.
  28256.  
  28257. Exceptions Signalled
  28258. kODErrInvalidFrame
  28259.     frame is not a display frame of this part.
  28260.  
  28261. Pre conditions
  28262. None.
  28263.  
  28264. Post conditions
  28265. None.
  28266.  
  28267. æKY ODPart::GetRealPart
  28268. Part::GetRealPart
  28269. Part->GetRealPart
  28270. æT Class Method
  28271. æD ODPart* GetRealPart();
  28272.  
  28273. æC Protection
  28274.     Public.  
  28275.  
  28276. Override policy
  28277.     Derived class cannot override.
  28278.     Derived class cannot call base class behavior.
  28279.  
  28280. Basic operation
  28281. For part wrappers, this call returns the part which this wrapper
  28282. encapsulates. For real parts, this call signals an error. This call
  28283. should only be called if part->IsRealPart() is false. In that case,
  28284. use of this getter must conform to the following constraints:
  28285. Only one client at a time may have access to the real part. Therefore,
  28286. clients should not hold onto a real part reference for longer than
  28287. absolutely necessary - never store a real part reference in a field,
  28288. and don't pass it as a parameter to other objects.
  28289. When done using the real part, release it using
  28290. ODPart::ReleaseRealPart(). If a second client tries to get the real
  28291. part before ReleaseRealPart has been called, an error will be
  28292. signaled.
  28293. Note:  part editors should not override this method.
  28294.  
  28295. Inputs
  28296. None.
  28297.  
  28298. Outputs
  28299. <return>
  28300.     undefined for real parts.  the real part if this part is a wrapper.
  28301.  
  28302. Exceptions Signalled
  28303. kODPartNotWrapper
  28304.     GetRealPart was called on a real part.
  28305.  
  28306. Pre conditions
  28307. None.
  28308.  
  28309. Post conditions
  28310. None.
  28311.  
  28312. æKY ODPart::HandleEvent
  28313. Part::HandleEvent
  28314. Part->HandleEvent
  28315. æT Class Method
  28316. æD ODBoolean HandleEvent(
  28317. in ODEventData event,
  28318. in ODFrame* frame,
  28319. in ODFacet* facet,
  28320. inout ODEventInfo eventInfo);
  28321.  
  28322. æC Protection
  28323.     Public.  Called by Dispatcher.
  28324.  
  28325. Override policy
  28326.     Derived class must override.
  28327.     Derived class cannot call base class behavior.
  28328.  
  28329. Basic operation
  28330. Return whether this part handled the event.
  28331.  
  28332. Part responds to the UI event if it can.
  28333.  
  28334. Inputs
  28335. event
  28336.     A wrapper for platform-specific event data.
  28337. frame
  28338.     The frame in which the event occured.
  28339. facet
  28340.     The facet in which the event occurred. kODNULL for events not based on
  28341. geometry, such as keyboard events.
  28342. eventInfo
  28343.     Additional OpenDoc-specific event information. Contains an embedded
  28344. frame and facet (for events like kODEvtMouseDownEmbedded), an ODPoint
  28345. in local coordinates, and a "propagated" flag which is set if an
  28346. embedded part chose not to handle an event, and the container has set
  28347. the "propagate events" flag of the embedded frame.
  28348.  
  28349. Outputs
  28350. <return>
  28351.     Whether the part was able to handle the event.
  28352.  
  28353. Exceptions Signalled
  28354. kODErrInvalidFrame
  28355.     frame is not a display frame of this part.
  28356. kODErrInvalidFacet
  28357.     facet is not a facet of this part.
  28358.  
  28359. Pre conditions
  28360. None.
  28361.  
  28362. Post conditions
  28363. None.
  28364.  
  28365. æKY ODPart::HighlightChanged
  28366. Part::HighlightChanged
  28367. Part->HighlightChanged
  28368. æT Class Method
  28369. æD void HighlightChanged(
  28370. ODFacet* facet);
  28371.  
  28372. æC Protection
  28373.     Public.  Called by Facet.
  28374.  
  28375. Override policy
  28376.     Derived class must override.
  28377.     Derived class cannot call base class behavior.
  28378.  
  28379. Basic operation
  28380. Notify the part that the highlight state of one of its facets has been
  28381. changed.
  28382.  
  28383. Adjust this part's presentation in the facet to its new highlight
  28384. state. New state may be found by calling facet->GetHighlight(). Pass
  28385. notification to embedded parts.
  28386.  
  28387. Inputs
  28388. frame
  28389.     A facet of the part.
  28390.  
  28391. Outputs
  28392. None.
  28393.  
  28394. Exceptions Signalled
  28395. kODErrInvalidFacet
  28396.     "facet" is not a facet of this part.
  28397.  
  28398. Pre conditions
  28399. None.
  28400.  
  28401. Post conditions
  28402. None.
  28403.  
  28404. æKY ODPart::InitPart
  28405. Part::InitPart
  28406. Part->InitPart
  28407. æT Class Method
  28408. æD void InitPart(
  28409. ODStorageUnit* storageUnit,
  28410. ODPart partWrapper);
  28411.  
  28412. æC Protection
  28413.     Protected.  Called by Draft.
  28414.  
  28415. Override policy
  28416.     Derived class must override.
  28417.     Derived class cannot call base class behavior.
  28418.  
  28419. Basic operation
  28420. Derived class must call
  28421. ODPersistentObject::InitPersistentObject(storageUnit) before derived
  28422. class behaviour.  Parts should not display a modal dialog in either of
  28423. their InitPart… methods.
  28424.  
  28425. Inputs
  28426. storageUnit
  28427.     The empty storage unit to be used by this part for its primary
  28428. persistent store.
  28429. partWrapper
  28430.     The partWrapper object for this part.  The part should store this
  28431. pointer to its partWrapper object which it should then pass out to any
  28432. api calls which require that it pass in a pointer to a part
  28433. representing itself.  The part should NEVER pass out a pointer to
  28434. somSelf.
  28435.  
  28436. Outputs
  28437. None.
  28438.  
  28439. Exceptions Signalled
  28440. None.
  28441.  
  28442. Pre conditions
  28443. None.
  28444.  
  28445. Post conditions
  28446. None.
  28447.  
  28448. æKY ODPart::InitPartFromStorage
  28449. Part::InitPartFromStorage
  28450. Part->InitPartFromStorage
  28451. æT Class Method
  28452. æD void InitPartFromStorage(
  28453. ODStorageUnit* storageUnit,
  28454. ODPart partWrapper);
  28455.  
  28456. æC Protection
  28457.     Protected.  Called by Draft.
  28458.  
  28459. Override policy
  28460.     Derived class must override.
  28461.     Derived class cannot call base class behavior.
  28462.  
  28463. Basic operation
  28464. Derived class must call
  28465. ODPersistentObject::InitPersistentObjectFromStorage(storageUnit)
  28466. before derived class behaviour.  Parts should not display a modal
  28467. dialog in either of their InitPart… methods.
  28468.  
  28469. Inputs
  28470. storageUnit
  28471.     The storage unit which this part should read its persistent state
  28472. from.
  28473. partWrapper
  28474.     The partWrapper object for this part.  The part should store this
  28475. pointer to its partWrapper object which it should then pass out to any
  28476. api calls which require that it pass in a pointer to a part
  28477. representing itself.  The part should NEVER pass out a pointer to
  28478. somSelf.
  28479.  
  28480. Outputs
  28481. None.
  28482.  
  28483. Exceptions Signalled
  28484. None.
  28485.  
  28486. Pre conditions
  28487. None.
  28488.  
  28489. Post conditions
  28490. None.
  28491.  
  28492. æKY ODPart::IsRealPart
  28493. Part::IsRealPart
  28494. Part->IsRealPart
  28495. æT Class Method
  28496. æD 
  28497.  
  28498. æC Protection
  28499.     Public.  
  28500.  
  28501. Override policy
  28502.     Derived class cannot override.
  28503.     Derived class cannot call base class behavior.
  28504.  
  28505. Basic operation
  28506. This call returns whether the part is an actual part, or just a part
  28507. wrapper.
  28508. Note: Part Editors should not override this method. They should just
  28509. use the inherited implementation.
  28510.  
  28511. Inputs
  28512. None.
  28513.  
  28514. Outputs
  28515. <return>
  28516.     a boolean - true if this part is a real part, false if it is a wrapper
  28517.  
  28518. Exceptions Signalled
  28519. None.
  28520.  
  28521. Pre conditions
  28522. None.
  28523.  
  28524. Post conditions
  28525. None.
  28526.  
  28527. æKY ODPart::LinkStatusChanged
  28528. Part::LinkStatusChanged
  28529. Part->LinkStatusChanged
  28530. æT Class Method
  28531. æD void LinkStatusChanged(
  28532. ODFrame* frame);
  28533.  
  28534. æC Protection
  28535.     Public.  Call by a part's frame when that frame's ChangeLinkStatus method is
  28536. called.
  28537.  
  28538. Override policy
  28539.     Derived class must override.
  28540.     Derived class cannot call base class behavior.
  28541.  
  28542. Basic operation
  28543. Frames notify their owner parts that their link status has changed
  28544. whenenever ChangeLinkStatus is called. This allows the part to set the
  28545. link status of any embedded frames.
  28546.  
  28547. Inputs
  28548. frame
  28549.     The frame of this part whose link status has changed.
  28550.  
  28551. Outputs
  28552. None.
  28553.  
  28554. Exceptions Signalled
  28555. None.
  28556.  
  28557. Pre conditions
  28558. None.
  28559.  
  28560. Post conditions
  28561. The part will call ChangeLinkStatus on any embedded frames that are
  28562. involved in the link in question.
  28563.  
  28564. æKY ODPart::LinkUpdated
  28565. Part::LinkUpdated
  28566. Part->LinkUpdated
  28567. æT Class Method
  28568. æD void LinkUpdated(
  28569. ODLink* updatedLink,
  28570. ODChangeID change);
  28571.  
  28572. æC Protection
  28573.     Public.  
  28574.  
  28575. Override policy
  28576.     Derived class must override.
  28577.     Derived class cannot call base class behavior.
  28578.  
  28579. Basic operation
  28580. The specified link has been updated; please read and use the incoming
  28581. data.
  28582.  
  28583. Retrieve the data from the link and incorporate it into this part at
  28584. the link's destination, replacing any previous content of the link.
  28585.  
  28586. Inputs
  28587. updatedLink
  28588.     The link which was changed.
  28589. change
  28590.     The change id associated with the link
  28591.  
  28592. Outputs
  28593. None.
  28594.  
  28595. Exceptions Signalled
  28596. kODErrInvalidLink
  28597.     This isn't one of my links.
  28598.  
  28599. Pre conditions
  28600. None.
  28601.  
  28602. Post conditions
  28603. None.
  28604.  
  28605. æKY ODPart::Open
  28606. Part::Open
  28607. Part->Open
  28608. æT Class Method
  28609. æD ODID Open(
  28610. ODFrame* frame);
  28611.  
  28612. æC Protection
  28613.     Public.  
  28614.  
  28615. Override policy
  28616.     Derived class must override.
  28617.     Derived class cannot call base class behavior.
  28618.  
  28619. Basic operation
  28620. Open a presentation of the part in a frame in a new window.
  28621.  
  28622. Create and open a new window. Add this part as the root part of the
  28623. window. Base the presentation in the new frame on that in the old
  28624. frame, or a default one if none. 
  28625.  
  28626. Inputs
  28627. frame
  28628.     The frame which should be used as a model for the new presentation.
  28629. kODNULL means the part should create a new frame and open it in the
  28630. window.
  28631.  
  28632. Outputs
  28633. <return>
  28634.     A unique id for the new window.
  28635.  
  28636. Exceptions Signalled
  28637. kODErrInvalidFrame
  28638.     "frame" isn't one of my display frames.
  28639.  
  28640. Pre conditions
  28641. None.
  28642.  
  28643. Post conditions
  28644. None.
  28645.  
  28646. æKY ODPart::PresentationChanged
  28647. Part::PresentationChanged
  28648. Part->PresentationChanged
  28649. æT Class Method
  28650. æD void PresentationChanged(
  28651. ODFrame* frame);
  28652.  
  28653. æC Protection
  28654.     Public.  Called by Frame::ChangePresentation().
  28655.  
  28656. Override policy
  28657.     Derived class must override.
  28658.     Derived class cannot call base class behavior.
  28659.  
  28660. Basic operation
  28661. Notify the part that the presentation kind of one of its frames has
  28662. been changed.
  28663.  
  28664. The part should examine the new presentation kind via
  28665. frame->GetPresentation(). If the part does not support that kind of
  28666. presentation, it should correct the frame's presentation using
  28667. frame->SetPresentation(). The part should then adjust its display in
  28668. the display frame to be of the new presentation kind.
  28669.  
  28670. Inputs
  28671. frame
  28672.     A display frame of this part.
  28673.  
  28674. Outputs
  28675. None.
  28676.  
  28677. Exceptions Signalled
  28678. kODErrInvalidFrame
  28679.     "frame" isn't one of my display frames.
  28680.  
  28681. Pre conditions
  28682. None.
  28683.  
  28684. Post conditions
  28685. None.
  28686.  
  28687. æKY ODPart::ReadActionState
  28688. Part::ReadActionState
  28689. Part->ReadActionState
  28690. æT Class Method
  28691. æD ODActionData ReadActionState(
  28692. ODStorageUnitView* storageUnitView);
  28693.  
  28694. æC Protection
  28695.     Public.  
  28696.  
  28697. Override policy
  28698.     Derived class must override.
  28699.     Derived class cannot call base class behavior.
  28700.  
  28701. Basic operation
  28702. Internalize the undoAction data from the storage unit.
  28703.  
  28704. Read the actionState data from a view on a StorageUnit. Allocate the
  28705. memory and pass ownership of the storage to the caller.
  28706.  
  28707. Inputs
  28708. storageUnitView
  28709.     Where to get the action data.
  28710.  
  28711. Outputs
  28712. <return>
  28713.     Information previously logged by the part to allow it to undo the
  28714. action.
  28715.  
  28716. Exceptions Signalled
  28717. kODErrInvalidUndo
  28718.     Not an undo action of this part.
  28719. kODErrOutOfMemory
  28720.     Not enough memory to internalize data.
  28721.  
  28722. Pre conditions
  28723. None.
  28724.  
  28725. Post conditions
  28726. None.
  28727.  
  28728. æKY ODPart::ReadPartInfo
  28729. Part::ReadPartInfo
  28730. Part->ReadPartInfo
  28731. æT Class Method
  28732. æD ODInfoType ReadPartInfo(
  28733. ODFrame* frame,
  28734. ODStorageUnitView* storageUnitView);
  28735.  
  28736. æC Protection
  28737.     Public.  Called by Frame.
  28738.  
  28739. Override policy
  28740.     Derived class must override.
  28741.     Derived class cannot call base class behavior.
  28742.  
  28743. Basic operation
  28744. Internalize the partInfo for a display frame of this part.
  28745.  
  28746. The data for the partInfo is stored in a value in the frame's storage
  28747. unit, specified by the suView param. Get the data out of the value,
  28748. and place it in a block of memory. Return the memory block to the
  28749. frame for it to hold.
  28750.  
  28751. Inputs
  28752. frame
  28753.     A display frame of this part.
  28754. storageUnitView
  28755.     The frame's partInfo storage.
  28756.  
  28757. Outputs
  28758. <return>
  28759.     <return>
  28760.  
  28761. Exceptions Signalled
  28762. kODErrInvalidFrame
  28763.     frame is not a display frame of this part.
  28764. kODErrOutOfMemory
  28765.     Not enough memory to allocate partInfo.
  28766.  
  28767. Pre conditions
  28768. None.
  28769.  
  28770. Post conditions
  28771. None.
  28772.  
  28773. æKY ODPart::RedoAction
  28774. Part::RedoAction
  28775. Part->RedoAction
  28776. æT Class Method
  28777. æD void RedoAction(
  28778. ODActionData actionState);
  28779.  
  28780. æC Protection
  28781.     Public.  Called by Undo.
  28782.  
  28783. Override policy
  28784.     Derived class must override.
  28785.     Derived class cannot call base class behavior.
  28786.  
  28787. Basic operation
  28788. Tells the part to Redo the action described by actionState.
  28789.  
  28790. Inputs
  28791. actionState
  28792.     Information previously logged by the part to allow it to redo the
  28793. action.
  28794.  
  28795. Outputs
  28796. None.
  28797.  
  28798. Exceptions Signalled
  28799. kODErrInvalidUndo
  28800.     Not an undo action of this part.
  28801.  
  28802. Pre conditions
  28803. None.
  28804.  
  28805. Post conditions
  28806. None.
  28807.  
  28808. æKY ODPart::ReleaseRealPart
  28809. Part::ReleaseRealPart
  28810. Part->ReleaseRealPart
  28811. æT Class Method
  28812. æD void ReleaseRealPart();
  28813.  
  28814. æC Protection
  28815.     Public.  
  28816.  
  28817. Override policy
  28818.     Derived class cannot override.
  28819.     Derived class cannot call base class behavior.
  28820.  
  28821. Basic operation
  28822. For part wrappers, this call releases the part which this wrapper
  28823. encapsulates. For real parts, this call signals an error. This call
  28824. should only be called if part->IsRealPart() is false. In that case,
  28825. the part wrapper marks its real part as available for access by
  28826. another client.
  28827. Note:  part editors should not override this method.
  28828.  
  28829. Inputs
  28830. None.
  28831.  
  28832. Outputs
  28833. None.
  28834.  
  28835. Exceptions Signalled
  28836. kODPartNotWrapper
  28837.     ReleaseRealPart was called on a real part.
  28838.  
  28839. Pre conditions
  28840. None.
  28841.  
  28842. Post conditions
  28843. None.
  28844.  
  28845. æKY ODPart::RemoveEmbeddedFrame
  28846. Part::RemoveEmbeddedFrame
  28847. Part->RemoveEmbeddedFrame
  28848. æT Class Method
  28849. æD void RemoveEmbeddedFrame(
  28850. ODFrame* embeddedFrame);
  28851.  
  28852. æC Protection
  28853.     Public.  Called by embedded part.
  28854.  
  28855. Override policy
  28856.     Derived class must override.
  28857.     Derived class cannot call base class behavior.
  28858.  
  28859. Basic operation
  28860. Remove a frame viewing an embedded part.
  28861.  
  28862. Called by an embedded part to indicate it no longer needs the frame to
  28863. display itself.
  28864.  
  28865. Inputs
  28866. embeddedFrame
  28867.     embeddedFrame
  28868.  
  28869. Outputs
  28870. None.
  28871.  
  28872. Exceptions Signalled
  28873. kODErrCannotEmbed
  28874.     This part does not support embedding.
  28875. kODErrInvalidFrame
  28876.     frame is not an embedded frame of this part.
  28877.  
  28878. Pre conditions
  28879. None.
  28880.  
  28881. Post conditions
  28882. None.
  28883.  
  28884. æKY ODPart::RequestEmbeddedFrame
  28885. Part::RequestEmbeddedFrame
  28886. Part->RequestEmbeddedFrame
  28887. æT Class Method
  28888. æD ODFrame* RequestEmbeddedFrame(
  28889. ODFrame* containingFrame,
  28890. ODFrame* baseFrame,
  28891. ODShape* frameShape,
  28892. ODPart* embedPart,
  28893. ODTypeToken viewType,
  28894. ODTypeToken presentation,
  28895. ODBoolean isOverlaid);
  28896.  
  28897. æC Protection
  28898.     Public.  
  28899.  
  28900. Override policy
  28901.     Derived class must override.
  28902.     Derived class cannot call base class behavior.
  28903.  
  28904. Basic operation
  28905. Ask the part to create a new frame and embed a part in it. This is
  28906. only requested by embedded parts which want additional frames in which
  28907. to display in the same containing part.
  28908.  
  28909. If this part is a containing part, it should ask the draft to create a
  28910. new frame, and embed the frame in its content. "baseFrame" is another
  28911. display frame of the same part, already embedded in the same
  28912. containing part. The frameShape param is relative to the frame
  28913. coordinate system of the baseFrame. The containing part decides if it
  28914. can fulfill the requests for frameShape. - if not, it can create the
  28915. frame where it wants and with the shape it chooses. The containing
  28916. part should assign the new frame to the same frameGroup as the
  28917. baseFrame. If isOverlaid is true, the new frame should float above the
  28918. part's content, and should not have to negotiate for space with the
  28919. part. The viewType and presentation are just passed through to
  28920. Draft::CreateFrame().
  28921.  
  28922. Inputs
  28923. containingFrame
  28924.     The display frame of this part in which to embed the new frame.
  28925. baseFrame
  28926.     A sibling frame of the frame to be created, also a display frame of
  28927. the embedPart.
  28928. frameShape
  28929.     The requested shape of the new frame. In the frame's own coordinate
  28930. space.
  28931. embedPart
  28932.     The part to embed in the new frame. 
  28933. viewType
  28934.     View type for new frame.
  28935. presentation
  28936.     Presentation for new frame.
  28937. isOverlaid
  28938.     Whether the new frame should float above the part's content.
  28939.  
  28940. Outputs
  28941. <return>
  28942.     The new frame.
  28943.  
  28944. Exceptions Signalled
  28945. kODErrCannotEmbed
  28946.     This part does not support embedding.
  28947. kODErrOutOfMemory
  28948.     Not enough memory to embed a part.
  28949.  
  28950. Pre conditions
  28951. None.
  28952.  
  28953. Post conditions
  28954. None.
  28955.  
  28956. æKY ODPart::RequestFrameShape
  28957. Part::RequestFrameShape
  28958. Part->RequestFrameShape
  28959. æT Class Method
  28960. æD ODShape* RequestFrameShape(
  28961. ODFrame* embeddedFrame,
  28962. ODShape* frameShape);
  28963.  
  28964. æC Protection
  28965.     Public.  Called by Frame::RequestFrameShape()
  28966.  
  28967. Override policy
  28968.     Derived class must override.
  28969.     Derived class cannot call base class behavior.
  28970.  
  28971. Basic operation
  28972. An embedded part asks to change the shape of its frame.
  28973.  
  28974. Decide what new shape to give the embedded frame, using the requested
  28975. "frameShape" as a guideline. Answer what shape is actually granted as
  28976. the return value. The requestor must abide by the returned shape,
  28977. though it may make further requests for different shapes or additional
  28978. frames.
  28979.  
  28980. Inputs
  28981. embeddedFrame
  28982.     An embedded frame of this part.
  28983. frameShape
  28984.     The requested shape, in frame coordinates of the embedded frame.
  28985.  
  28986. Outputs
  28987. <return>
  28988.     <return>
  28989.  
  28990. Exceptions Signalled
  28991. None.
  28992.  
  28993. Pre conditions
  28994. None.
  28995.  
  28996. Post conditions
  28997. None.
  28998.  
  28999. æKY ODPart::RevealFrame
  29000. Part::RevealFrame
  29001. Part->RevealFrame
  29002. æT Class Method
  29003. æD ODBoolean RevealFrame(
  29004. ODFrame* embeddedFrame,
  29005. ODShape* revealShape);
  29006.  
  29007. æC Protection
  29008.     Public.  Called by embedded part.
  29009.  
  29010. Override policy
  29011.     Derived class must override.
  29012.     Derived class cannot call base class behavior.
  29013.  
  29014. Basic operation
  29015. Ask a part to make an embedded frame visible.
  29016.  
  29017. Scroll one of this part's display frame's to make a portion of the
  29018. embedded frame visible therein. If this part has no visible frames,
  29019. ask a containing part to reveal one of them. If no display frames for
  29020. the part currently exist, or if this part's containing frame can't
  29021. reveal the display frame, open a frame in a new window.
  29022.  
  29023. Inputs
  29024. embeddedFrame
  29025.     An embedded frame of this part.
  29026. revealShape
  29027.     A shape in frame coordinates of embeddedFrame. The portion of the
  29028. frame to reveal.
  29029.  
  29030. Outputs
  29031. <return>
  29032.     A boolean indicating whether the part was able to reveal the frame.
  29033.  
  29034. Exceptions Signalled
  29035. kODErrInvalidFrame
  29036.     frame is not an embedded frame of this part.
  29037.  
  29038. Pre conditions
  29039. None.
  29040.  
  29041. Post conditions
  29042. None.
  29043.  
  29044. æKY ODPart::RevealLink
  29045. Part::RevealLink
  29046. Part->RevealLink
  29047. æT Class Method
  29048. æD void RevealLink(
  29049. ODLinkSource* linkSource);
  29050.  
  29051. æC Protection
  29052.     Public.  Called by ODLinkSource objects.  Should not be called by parts.
  29053.  
  29054. Override policy
  29055.     Derived class must override.
  29056.     Derived class cannot call base class behavior.
  29057.  
  29058. Basic operation
  29059. In some display frame for this part, select the content linked by the
  29060. linkSource argument, and scroll it into view.  Make that display frame
  29061. the active frame.  If no display frames for the part currently exist,
  29062. or if this part's containing frame can't reveal the display frame,
  29063. open a frame in a new window.
  29064.  
  29065. Inputs
  29066. linkSource
  29067.     The linked content to reveal. 
  29068.  
  29069. Outputs
  29070. None.
  29071.  
  29072. Exceptions Signalled
  29073. kODErrInvalidLink
  29074.     This isn't one of my links.
  29075.  
  29076. Pre conditions
  29077. None.
  29078.  
  29079. Post conditions
  29080. None.
  29081.  
  29082. æKY ODPart::SequenceChanged
  29083. Part::SequenceChanged
  29084. Part->SequenceChanged
  29085. æT Class Method
  29086. æD void SequenceChanged(
  29087. ODFrame* frame);
  29088.  
  29089. æC Protection
  29090.     Public.  Called by containing part.
  29091.  
  29092. Override policy
  29093.     Derived class can override.
  29094.     Derived class can call base class behavior.
  29095.  
  29096. Basic operation
  29097. Inform the part that the sequencing of a group of its display frames
  29098. has been changed. The containing part of "frame" should call this when
  29099. adding a new frame to the group or re-ordering the frames in the
  29100. group.  A single frame of the group is passed as an argument to
  29101. indicate which group of which containing frame has been changed.
  29102.  
  29103. Inputs
  29104. frame
  29105.     A frame in the group whose sequence has been re-ordered.
  29106.  
  29107. Outputs
  29108. None.
  29109.  
  29110. Exceptions Signalled
  29111. kODErrInvalidFrame
  29112.     frame is not a display frame of this part.
  29113.  
  29114. Pre conditions
  29115. None.
  29116.  
  29117. Post conditions
  29118. None.
  29119.  
  29120. æKY ODPart::UndoAction
  29121. Part::UndoAction
  29122. Part->UndoAction
  29123. æT Class Method
  29124. æD void UndoAction(
  29125. ODActionData actionState);
  29126.  
  29127. æC Protection
  29128.     Public.  Called by Undo.
  29129.  
  29130. Override policy
  29131.     Derived class must override.
  29132.     Derived class cannot call base class behavior.
  29133.  
  29134. Basic operation
  29135. Tells the part to Undo the action described by actionState.
  29136.  
  29137. Inputs
  29138. actionState
  29139.     Information previously logged by the part to allow it to undo the
  29140. action.
  29141.  
  29142. Outputs
  29143. None.
  29144.  
  29145. Exceptions Signalled
  29146. kODErrInvalidUndo
  29147.     Not an undo action of this part.
  29148.  
  29149. Pre conditions
  29150. None.
  29151.  
  29152. Post conditions
  29153. None.
  29154.  
  29155. æKY ODPart::UsedShapeChanged
  29156. Part::UsedShapeChanged
  29157. Part->UsedShapeChanged
  29158. æT Class Method
  29159. æD void UsedShapeChanged(
  29160. ODFrame* embeddedFrame);
  29161.  
  29162. æC Protection
  29163.     Public.  Called by Frame::ChangeUsedShape().
  29164.  
  29165. Override policy
  29166.     Derived class must override.
  29167.     Derived class cannot call base class behavior.
  29168.  
  29169. Basic operation
  29170. Inform a containing part that the used shape of one of its embedded
  29171. frames has changed.
  29172.  
  29173. Containing parts which have wrapped content to the used shape of an
  29174. embedded frame will need to adjust the layout of that content for the
  29175. new used shape.
  29176.  
  29177. Inputs
  29178. embeddedFrame
  29179.     An emebedded frame of this part.
  29180.  
  29181. Outputs
  29182. None.
  29183.  
  29184. Exceptions Signalled
  29185. kODErrInvalidFrame
  29186.     embeddedFrame is not an embeddedFrame of this part.
  29187.  
  29188. Pre conditions
  29189. None.
  29190.  
  29191. Post conditions
  29192. None.
  29193.  
  29194. æKY ODPart::ViewTypeChanged
  29195. Part::ViewTypeChanged
  29196. Part->ViewTypeChanged
  29197. æT Class Method
  29198. æD void ViewTypeChanged(
  29199. ODFrame* frame);
  29200.  
  29201. æC Protection
  29202.     Public.  Called by Frame::ChangeViewType()
  29203.  
  29204. Override policy
  29205.     Derived class must override.
  29206.     Derived class cannot call base class behavior.
  29207.  
  29208. Basic operation
  29209. Notify the part that the viewType of one of its frames has been
  29210. changed.
  29211.  
  29212. The part should examine the new view type via frame->GetViewType(). If
  29213. the part does not support that kind of view type, it should correct
  29214. the frame's viewType using frame->SetViewType(). Note that parts MUST
  29215. support the standard set of view types (se HI spec). The part should
  29216. then adjust its display in the display frame to be of the new view
  29217. type.
  29218.  
  29219. Inputs
  29220. frame
  29221.     A display frame of this part.
  29222.  
  29223. Outputs
  29224. None.
  29225.  
  29226. Exceptions Signalled
  29227. kODErrInvalidFrame
  29228.     frame is not a display frame of this part.
  29229.  
  29230. Pre conditions
  29231. None.
  29232.  
  29233. Post conditions
  29234. None.
  29235.  
  29236. æKY ODPart::WriteActionState
  29237. Part::WriteActionState
  29238. Part->WriteActionState
  29239. æT Class Method
  29240. æD void WriteActionState(
  29241. ODActionData actionState,
  29242. ODStorageUnitView* storageUnitView);
  29243.  
  29244. æC Protection
  29245.     Public.  Called by Undo.
  29246.  
  29247. Override policy
  29248.     Derived class must override.
  29249.     Derived class cannot call base class behavior.
  29250.  
  29251. Basic operation
  29252. Write out the actionState data onto a StorageUnit view.
  29253.  
  29254. Externalize the undoAction data to the storage unit.
  29255.  
  29256. Inputs
  29257. actionState
  29258.     Information previously logged by the part to allow it to redo the
  29259. action.
  29260. storageUnitView
  29261.     Externalize data here.
  29262.  
  29263. Outputs
  29264. None.
  29265.  
  29266. Exceptions Signalled
  29267. kODErrInvalidUndo
  29268.     Not an undo action of this part.
  29269.  
  29270. Pre conditions
  29271. None.
  29272.  
  29273. Post conditions
  29274. None.
  29275.  
  29276. æKY ODPart::WritePartInfo
  29277. Part::WritePartInfo
  29278. Part->WritePartInfo
  29279. æT Class Method
  29280. æD void WritePartInfo(
  29281. ODInfoType partInfo,
  29282. ODStorageUnitView* storageUnitView);
  29283.  
  29284. æC Protection
  29285.     Public.  Called by Frame.
  29286.  
  29287. Override policy
  29288.     Derived class must override.
  29289.     Derived class cannot call base class behavior.
  29290.  
  29291. Basic operation
  29292. Externalize the frame's partInfo data onto the frame's storage unit.
  29293.  
  29294. Inputs
  29295. partInfo
  29296.     The partInfo to externalize.
  29297. storageUnitView
  29298.     A view onto a value of the frame's storage unit.
  29299.  
  29300. Outputs
  29301. None.
  29302.  
  29303. Exceptions Signalled
  29304. None.
  29305.  
  29306. Pre conditions
  29307. None.
  29308.  
  29309. Post conditions
  29310. None.
  29311.  
  29312.  
  29313. æKY ODPartWrapperHelp
  29314. ODPartWrapper
  29315. PartWrapper
  29316. æKL ODPartWrapper::GetEditor
  29317. ODPartWrapper::InitPartWrapper
  29318. ODPartWrapper::UseEditor
  29319. ODPartWrapper::fPart
  29320. ODPartWrapper::fPartInUse
  29321. æC Basic Class Documentation
  29322. The ODPartWrapper class is really thin implementation which
  29323. bottlenecks all calls to any part.  It is used to initially create the
  29324. part object by name from the editor string, and then to change the
  29325. editor by deleting that part and creating another part object by name
  29326. from another editor string.
  29327. Superclass: ODPart
  29328. Only Container Suites and the Info object should be making calls onto
  29329. this object.  It shows up in the API because Part editors should NEVER
  29330. pass out a pointer to somSelf in their code.  Instead, they should
  29331. always pass out a pointer to their PartWrapper object which was passed
  29332. into the part in its InitPart or InitPartFromStorage method.  This
  29333. also applies to extensions which parts editors create.  The part
  29334. editor should always pass in a pointer to its PartWrapper object as
  29335. the base object for that extension.  It is ok for the part editor to
  29336. pass in a direct pointer to its Part object to an extension object for
  29337. efficiency reasons, but only in an extension specific API.  E.g.  the
  29338. class ODMyExtension may have a call InitMyExtension(fPartWrapper,
  29339. somSelf) which then effectively calls InitExtension(fPartWrapper) and
  29340. stores off the pointer to somSelf as fMyRealPart.  The extension
  29341. should then obey the same rule and NEVER pass out the pointer in
  29342. fMyRealPart.
  29343. Note that although ODPartWrapper is a subclass of ODPart, all of its
  29344. ODPart methods are delegated to the same method on its fPart object. 
  29345. For that reason, the ODPart methods are not redocumented here.
  29346.  
  29347. Theory of Operation
  29348. A subclass of draft which is creating an ODPartWrapper should create
  29349. the object, then call InitPartWrapper(editor);  where editor is the
  29350. ODEditor returned from the Binding object which the draft has just
  29351. asked to bind a part kind to.  At this point the draft should call
  29352. InitPart or InitPartFromStorage on the part.
  29353.  
  29354. Invariants Maintained by Class
  29355.  
  29356. æKY ODPartWrapper::GetEditor
  29357. PartWrapper::GetEditor
  29358. PartWrapper->GetEditor
  29359. æT Class Method
  29360. æD ODEditor GetEditor();
  29361.  
  29362. æC Protection
  29363.     Public.  
  29364.  
  29365. Override policy
  29366.     Derived class cannot override.
  29367.     Derived class cannot call base class behavior.
  29368.  
  29369. Basic operation
  29370. None.
  29371.  
  29372. Inputs
  29373. None.
  29374.  
  29375. Outputs
  29376. editor
  29377.     A getter for the subclass of part which this partwrapper object
  29378. delegates part methods to.
  29379.  
  29380. Exceptions Signalled
  29381. None.
  29382.  
  29383. Pre conditions
  29384. None.
  29385.  
  29386. Post conditions
  29387. The part editor to which this partwrapper delegates its part calls to
  29388. has been returned.
  29389.  
  29390. æKY ODPartWrapper::InitPartWrapper
  29391. PartWrapper::InitPartWrapper
  29392. PartWrapper->InitPartWrapper
  29393. æT Class Method
  29394. æD void InitPartWrapper(
  29395. ODEditor editor);
  29396.  
  29397. æC Protection
  29398.     Public.  
  29399.  
  29400. Override policy
  29401.     Derived class cannot override.
  29402.     Derived class cannot call base class behavior.
  29403.  
  29404. Basic operation
  29405. Creates a new ODPart subclass by name using the editor string passed
  29406. in.  This part is then assigned to the fPart field.
  29407.  
  29408. Inputs
  29409. editor
  29410.     The subclass of part which this partwrapper object should create and
  29411. delegate part methods to.
  29412.  
  29413. Outputs
  29414. None.
  29415.  
  29416. Exceptions Signalled
  29417. None.
  29418.  
  29419. Pre conditions
  29420. The partwrapper object has not been initialized.
  29421.  
  29422. Post conditions
  29423. The partwrapper object has created the real ODPart subclass and is
  29424. ready to go.
  29425.  
  29426. æKY ODPartWrapper::UseEditor
  29427. PartWrapper::UseEditor
  29428. PartWrapper->UseEditor
  29429. æT Class Method
  29430. æD void UseEditor(
  29431. ODEditor editor);
  29432.  
  29433. æC Protection
  29434.     Public.  
  29435.  
  29436. Override policy
  29437.     Derived class cannot override.
  29438.     Derived class cannot call base class behavior.
  29439.  
  29440. Basic operation
  29441. None.
  29442.  
  29443. Inputs
  29444. editor
  29445.     The subclass of part which this partwrapper object should create and
  29446. delegate part methods to.
  29447.  
  29448. Outputs
  29449. None.
  29450.  
  29451. Exceptions Signalled
  29452. None.
  29453.  
  29454. Pre conditions
  29455. None.
  29456.  
  29457. Post conditions
  29458. The part editor to which this partwrapper delegates its part calls to
  29459. has been changed to the editor passed in.
  29460.  
  29461. æKY ODPartWrapper::fPart
  29462. PartWrapper::fPart
  29463. æT Class Field
  29464. æD ODPart* fPart;
  29465. æC 
  29466. æKY ODPartWrapper::fPartInUse
  29467. PartWrapper::fPartInUse
  29468. æT Class Field
  29469. æD ODBoolean fPartInUse;
  29470. æC 
  29471.  
  29472. æKY ODPersistentObjectHelp
  29473. ODPersistentObject
  29474. PersistentObject
  29475. æKL ODPersistentObject::ODPersistentObject
  29476. ODPersistentObject::~ODPersistentObject
  29477. ODPersistentObject::CloneInto
  29478. ODPersistentObject::Externalize
  29479. ODPersistentObject::GetID
  29480. ODPersistentObject::GetStorageUnit
  29481. ODPersistentObject::InitPersistentObject
  29482. ODPersistentObject::InitPersistentObjectFromStorage
  29483. ODPersistentObject::ReleaseAll
  29484. ODPersistentObject::fID
  29485. ODPersistentObject::fSU
  29486. æC Basic Class Documentation
  29487. There are a number of OD objects which require persistent storage
  29488. (ODFrame, ODPart, ODLink and ODSourceLink). This functionality has
  29489. been commonalized and centralized in the ODPersistentObject class and
  29490. all these classes are subclasses of ODPersistentObject. All the
  29491. objects from these classes are collectively known as persistent
  29492. objects.
  29493.  
  29494. Part developers should not subclass this class. They should use
  29495. ODStorageUnits to store their persistent data. Platform developers may
  29496. subclass this class to create persistent objects. 
  29497.  
  29498. Theory of Operation
  29499. Every ODPersistentObject has a ODStorageUnit in which it stores itself
  29500. persistently. 
  29501. When a persistent object is created for the first time, an InitXXX
  29502. method is called on it (where XXX is the name of the class, e.g.,
  29503. InitPart).  In ODXXX::InitXXX, the persistent object  calls
  29504. ODPersistentObject::InitPersistentObject to initialize the
  29505. ODPersistentObject and then creates all its properties and values in
  29506. the ODStorageUnit. 
  29507. When Externalize is called on the persistent object, it should write
  29508. out its persistent state to the properties and values it created
  29509. during InitXXX.
  29510. When InitXXXFromStorage is called on the persistent object, it  should
  29511. read in its persistent state from the properties and values in the
  29512. ODStorageUnit.
  29513. Note that a persistent object should Externalize only the data which
  29514. it requires for InitXXXFromStorage. Therefore, any caches or anything
  29515. else which can be derived or regenerated should not be externalized.
  29516.  
  29517. Invariants Maintained by Class
  29518. InitPersistentObject is called only once on ODPersistentObject, when
  29519. it is first created. 
  29520. After that, every time the ODPersistentObject is instantiated in
  29521. memory,InitPersistentObjectFromStorage is called once.
  29522.  
  29523. Other Persistent Properties
  29524. kODPropCreateDate of type kODTime_T
  29525. kODPropModDate of type kODTime_T
  29526. kODPropModUser of type kODIntlText
  29527. kODPropObjectType of type kODObjectType
  29528. æKY ODPersistentObject::ODPersistentObject
  29529. PersistentObject::ODPersistentObject
  29530. PersistentObject->ODPersistentObject
  29531. æT Class Method
  29532. æD ODPersistentObject();
  29533.  
  29534. æC Protection
  29535.     Public.  Parts and Container Apps do not call this method directly. But
  29536. whenever the Part or the Container App creates a persistent object
  29537. (e.g. , Frame), this method is called.
  29538.  
  29539. Override policy
  29540.     Derived class must override.
  29541.     Derived class must call base class behavior, before derived class behavior.
  29542.  
  29543. Basic operation
  29544. None.
  29545.  
  29546. Inputs
  29547. None.
  29548.  
  29549. Outputs
  29550. None.
  29551.  
  29552. Exceptions Signalled
  29553. None.
  29554.  
  29555. Pre conditions
  29556. None.
  29557.  
  29558. Post conditions
  29559. None.
  29560.  
  29561. æKY ODPersistentObject::~ODPersistentObject
  29562. PersistentObject::~ODPersistentObject
  29563. PersistentObject->~ODPersistentObject
  29564. æT Class Method
  29565. æD ~ODPersistentObject();
  29566.  
  29567. æC Protection
  29568.     Public.  Parts and Container Apps do not call this method directly. But
  29569. whenever a persistent object is deleted, this method is called.
  29570.  
  29571. Override policy
  29572.     Derived class can override.
  29573.     Derived class must call base class behavior, after derived class behavior.
  29574.  
  29575. Basic operation
  29576. release the object's storageUnit
  29577.  
  29578. Inputs
  29579. None.
  29580.  
  29581. Outputs
  29582. None.
  29583.  
  29584. Exceptions Signalled
  29585. None.
  29586.  
  29587. Pre conditions
  29588. None.
  29589.  
  29590. Post conditions
  29591. None.
  29592.  
  29593. æKY ODPersistentObject::CloneInto
  29594. PersistentObject::CloneInto
  29595. PersistentObject->CloneInto
  29596. æT Class Method
  29597. æD void CloneInto(
  29598. in ODDraftKey key,
  29599. in ODStorageUnit toSU,
  29600. in ODFrame scope);
  29601.  
  29602. æC Protection
  29603.     Public.  Every persistent object must override this method.
  29604.  
  29605. Override policy
  29606.     Derived class must override.
  29607.     Derived class must call base class behavior, during derived class behavior.
  29608.  
  29609. Basic operation
  29610. This function clones a persistent object into the input storage unit.
  29611. The persistent object should in turn clone any objects that it has
  29612. references to.
  29613.  
  29614. The scope allows the persistent object to prune out any unnecessary
  29615. objects which are not contained in the specified scope.
  29616.  
  29617. Inputs
  29618. key
  29619.     Key for Clone operation (obtained from ODDraft::BeginClone).
  29620. toSU
  29621.     Storage Unit which the cloned data will go.
  29622. scope
  29623.     scope of the clone.
  29624.  
  29625. Outputs
  29626. None.
  29627.  
  29628. Exceptions Signalled
  29629. None.
  29630.  
  29631. Pre conditions
  29632. None.
  29633.  
  29634. Post conditions
  29635. None.
  29636.  
  29637. æKY ODPersistentObject::Externalize
  29638. PersistentObject::Externalize
  29639. PersistentObject->Externalize
  29640. æT Class Method
  29641. æD void Externalize();
  29642.  
  29643. æC Protection
  29644.     Public.  
  29645.  
  29646. Override policy
  29647.     Derived class can override.
  29648.     Derived class must call base class behavior, before derived class behavior.
  29649.  
  29650. Basic operation
  29651. Updates the moddate and modifiedUser properties of the persistent
  29652. object. 
  29653. A derived class should write out its persistent state to the
  29654. properties and values it created during InitXXX.
  29655. If a derived class has no changes to write out to its persistent
  29656. state, then it should NOT call base class behaviour.
  29657.  
  29658. Inputs
  29659. None.
  29660.  
  29661. Outputs
  29662. None.
  29663.  
  29664. Exceptions Signalled
  29665. None.
  29666.  
  29667. Pre conditions
  29668. None.
  29669.  
  29670. Post conditions
  29671. None.
  29672.  
  29673. æKY ODPersistentObject::GetID
  29674. PersistentObject::GetID
  29675. PersistentObject->GetID
  29676. æT Class Method
  29677. æD ODID  GetID();
  29678.  
  29679. æC Protection
  29680.     Public.  
  29681.  
  29682. Override policy
  29683.     Derived class can override.
  29684.     Derived class can call base class behavior, during derived class behavior.
  29685.  
  29686. Basic operation
  29687. Returns the ID of this object.
  29688. Note that this ID is not persistent. Therefore, the same persistent
  29689. object may have a different ID in every session.
  29690.  
  29691. Inputs
  29692. None.
  29693.  
  29694. Outputs
  29695. <return>
  29696.     ID of this object.
  29697.  
  29698. Exceptions Signalled
  29699. None.
  29700.  
  29701. Pre conditions
  29702. None.
  29703.  
  29704. Post conditions
  29705. None.
  29706.  
  29707. æKY ODPersistentObject::GetStorageUnit
  29708. PersistentObject::GetStorageUnit
  29709. PersistentObject->GetStorageUnit
  29710. æT Class Method
  29711. æD ODStorageUnit* GetStorageUnit();
  29712.  
  29713. æC Protection
  29714.     Public.  
  29715.  
  29716. Override policy
  29717.     Derived class cannot override.
  29718.     Derived class can call base class behavior, during derived class behavior.
  29719.  
  29720. Basic operation
  29721. returns the ODStorageUnit associated with the persistent object
  29722.  
  29723. Inputs
  29724. None.
  29725.  
  29726. Outputs
  29727. <return>
  29728.     ODStorageUnit associated with this object.
  29729.  
  29730. Exceptions Signalled
  29731. None.
  29732.  
  29733. Pre conditions
  29734. None.
  29735.  
  29736. Post conditions
  29737. None.
  29738.  
  29739. æKY ODPersistentObject::InitPersistentObject
  29740. PersistentObject::InitPersistentObject
  29741. PersistentObject->InitPersistentObject
  29742. æT Class Method
  29743. æD void InitPersistentObject(
  29744. ODStorageUnit* storageUnit);
  29745.  
  29746. æC Protection
  29747.     Public.  Parts and Container Apps do not call this method directly. But
  29748. whenever the Part or the Container App creates a persistent object
  29749. (e.g. , Frame), this method is called.
  29750.  
  29751. Override policy
  29752.     Derived class must override.
  29753.     Derived class must call base class behavior, before derived class behavior.
  29754.  
  29755. Basic operation
  29756. Creates and sets the creationDate,  modDate and modifiedUser
  29757. properties of the persistent object.  This method is called once on a
  29758. persistent object, at the beginning of its persistent lifetime.
  29759. A derived class must call this method in its InitXXX method.
  29760.  
  29761. Inputs
  29762. storageUnit
  29763.     the storageUnit of this persistent object
  29764.  
  29765. Outputs
  29766. None.
  29767.  
  29768. Exceptions Signalled
  29769. None.
  29770.  
  29771. Pre conditions
  29772. None.
  29773.  
  29774. Post conditions
  29775. fSU = storageUnit
  29776.  
  29777. æKY ODPersistentObject::InitPersistentObjectFromStorage
  29778. PersistentObject::InitPersistentObjectFromStorage
  29779. PersistentObject->InitPersistentObjectFromStorage
  29780. æT Class Method
  29781. æD void InitPersistentObjectFromStorage(
  29782. ODStorageUnit* storageUnit);
  29783.  
  29784. æC Protection
  29785.     Public.  Parts and Container Apps do not call this method directly. But
  29786. whenever the Part or the Container App creates a persistent object
  29787. (e.g. , Frame), this method is called.
  29788.  
  29789. Override policy
  29790.     Derived class must override.
  29791.     Derived class must call base class behavior, before derived class behavior.
  29792.  
  29793. Basic operation
  29794. Initializes the internal fields of this object.
  29795. A derived class must call this method in its InitXXXFromStorage
  29796. method.
  29797.  
  29798. Inputs
  29799. storageUnit
  29800.     ODStorageUnit of this object
  29801.  
  29802. Outputs
  29803. None.
  29804.  
  29805. Exceptions Signalled
  29806. None.
  29807.  
  29808. Pre conditions
  29809. None.
  29810.  
  29811. Post conditions
  29812. fSU = storageUnit
  29813.  
  29814. æKY ODPersistentObject::ReleaseAll
  29815. PersistentObject::ReleaseAll
  29816. PersistentObject->ReleaseAll
  29817. æT Class Method
  29818. æD void ReleaseAll();
  29819.  
  29820. æC Protection
  29821.     Public.  
  29822.  
  29823. Override policy
  29824.     Derived class can override.
  29825.     Derived class must call base class behavior, after derived class behavior.
  29826.  
  29827. Basic operation
  29828. Releases all its ephemeral references to other ODRefCntObjects.  All
  29829. ODExtension objects which this object may have handed should also be
  29830. notified with the BaseRemoved call.
  29831.  
  29832. Inputs
  29833. None.
  29834.  
  29835. Outputs
  29836. None.
  29837.  
  29838. Exceptions Signalled
  29839. None.
  29840.  
  29841. Pre conditions
  29842. None.
  29843.  
  29844. Post conditions
  29845. All the ephemeral references to other ODRefCntObjects are released.
  29846.  
  29847. æKY ODPersistentObject::fID
  29848. PersistentObject::fID
  29849. æT Class Field
  29850. æD ODID
  29851. æC Persistent form
  29852. None.
  29853.  
  29854. æKY ODPersistentObject::fSU
  29855. PersistentObject::fSU
  29856. æT Class Field
  29857. æD ODStorageUnit*
  29858. æC 
  29859.  
  29860. æKY ODPlatformTypeListHelp
  29861. ODPlatformTypeList
  29862. PlatformTypeList
  29863. æKL ODPlatformTypeList::ODPlatformTypeList
  29864. ODPlatformTypeList::~ODPlatformTypeList
  29865. ODPlatformTypeList::AddLast
  29866. ODPlatformTypeList::Contains
  29867. ODPlatformTypeList::Count
  29868. ODPlatformTypeList::CreatePlatformTypeListIterator
  29869. ODPlatformTypeList::InitPlatformTypeList
  29870. ODPlatformTypeList::Remove
  29871. ODPlatformTypeList::fList
  29872. æC Basic Class Documentation
  29873. ODPlatformTypeList is an ordered collection class of ODPlatformType
  29874. objects.  ODPlatformTypeList has no base class.
  29875.  
  29876. Theory of Operation
  29877. ODPlatformTypeList is an ordered collection of ODPlatformTypes. Users
  29878. of this class can add and remove types , query the existence of a
  29879. type, and get the number of types in the list.
  29880.  
  29881. Parts may create instances of ODPlatformTypeList.  Subclassing of
  29882. ODPlatformTypeList is not anticipated.
  29883.  
  29884. The main client of this class are ODClipboard and parts.  The
  29885. ODClipboard class uses ODPlatformTypeList as parameters to its
  29886. functions. Parts can use ODPlatformTypeList to store a list of
  29887. Platform Types for repeated use.
  29888.  
  29889. ODPlatformTypeList uses OpenDoc's private collection class. 
  29890.  
  29891. Invariants Maintained by Class
  29892. Every item in a ODPlatformTypeList object is unique. Therefore, a
  29893. ODPlatformTypeList object contains a set of different ODPlatformTypes.
  29894. A ODPlatformTypeList object can contain zero or more ODPlatformTypes.
  29895. In other words, the type set can either be empty or non-empty.
  29896. æKY ODPlatformTypeList::ODPlatformTypeList
  29897. PlatformTypeList::ODPlatformTypeList
  29898. PlatformTypeList->ODPlatformTypeList
  29899. æT Class Method
  29900. æD ODPlatformTypeList();
  29901.  
  29902. æC Protection
  29903.     Public.  
  29904.  
  29905. Override policy
  29906.     Derived class cannot override.
  29907.     Derived class must call base class behavior, before derived class behavior.
  29908.  
  29909. Basic operation
  29910. Class instance constructor.
  29911.  
  29912. Inputs
  29913. None.
  29914.  
  29915. Outputs
  29916. None.
  29917.  
  29918. Exceptions Signalled
  29919. kODErrOutOfMemory
  29920.     Could not construct this instance.
  29921.  
  29922. Pre conditions
  29923. None.
  29924.  
  29925. Post conditions
  29926. Members are initialized to a known state.
  29927.  
  29928. æKY ODPlatformTypeList::~ODPlatformTypeList
  29929. PlatformTypeList::~ODPlatformTypeList
  29930. PlatformTypeList->~ODPlatformTypeList
  29931. æT Class Method
  29932. æD ~ODPlatformTypeList();
  29933.  
  29934. æC Protection
  29935.     Public.  
  29936.  
  29937. Override policy
  29938.     Derived class cannot override.
  29939.     Derived class cannot call base class behavior, during derived class behavior.
  29940.  
  29941. Basic operation
  29942. Class instance destructor.
  29943.  
  29944. Inputs
  29945. None.
  29946.  
  29947. Outputs
  29948. None.
  29949.  
  29950. Exceptions Signalled
  29951. None.
  29952.  
  29953. Pre conditions
  29954. The list has been created.
  29955.  
  29956. Post conditions
  29957. None.
  29958.  
  29959. æKY ODPlatformTypeList::AddLast
  29960. PlatformTypeList::AddLast
  29961. PlatformTypeList->AddLast
  29962. æT Class Method
  29963. æD void AddLast(
  29964. ODPlatformType type);
  29965.  
  29966. æC Protection
  29967.     Public.  
  29968.  
  29969. Override policy
  29970.     Derived class can override.
  29971.     Derived class can call base class behavior, during derived class behavior.
  29972.  
  29973. Basic operation
  29974. Adds the argument platform type to the end of the list.  If the
  29975. platform type is already present in the list, no action is taken.
  29976.  
  29977. Inputs
  29978. type
  29979.     Platform type to be added.
  29980.  
  29981. Outputs
  29982. None.
  29983.  
  29984. Exceptions Signalled
  29985. kODErrOutOfMemory
  29986.     Could not add the argument platform type to the list.
  29987.  
  29988. Pre conditions
  29989. The list has been initialized.
  29990.  
  29991. Post conditions
  29992. The list contains the argument platform type.
  29993.  
  29994. æKY ODPlatformTypeList::Contains
  29995. PlatformTypeList::Contains
  29996. PlatformTypeList->Contains
  29997. æT Class Method
  29998. æD ODBoolean Contains(
  29999. ODPlatformType type);
  30000.  
  30001. æC Protection
  30002.     Public.  
  30003.  
  30004. Override policy
  30005.     Derived class can override.
  30006.     Derived class can call base class behavior, during derived class behavior.
  30007.  
  30008. Basic operation
  30009. Test this list for the presence of the argument platform type.
  30010.  
  30011. Inputs
  30012. type
  30013.     A platform type to test for inclusion in this list.
  30014.  
  30015. Outputs
  30016. <return>
  30017.     kODTrue if the argument platform type is in the list and kODFalse
  30018. otherwise.
  30019.  
  30020. Exceptions Signalled
  30021. None.
  30022.  
  30023. Pre conditions
  30024. The list has been initialized.
  30025.  
  30026. Post conditions
  30027. None.
  30028.  
  30029. æKY ODPlatformTypeList::Count
  30030. PlatformTypeList::Count
  30031. PlatformTypeList->Count
  30032. æT Class Method
  30033. æD ODULong Count();
  30034.  
  30035. æC Protection
  30036.     Public.  
  30037.  
  30038. Override policy
  30039.     Derived class can override.
  30040.     Derived class can call base class behavior, during derived class behavior.
  30041.  
  30042. Basic operation
  30043. This function returns the number of platform types in the list. If the
  30044. list is empty, zero is returned.
  30045.  
  30046. Inputs
  30047. None.
  30048.  
  30049. Outputs
  30050. <return>
  30051.     Number of platform types in the list.
  30052.  
  30053. Exceptions Signalled
  30054. None.
  30055.  
  30056. Pre conditions
  30057. The list has been initialized.
  30058.  
  30059. Post conditions
  30060. None.
  30061.  
  30062. æKY ODPlatformTypeList::CreatePlatformTypeListIterator
  30063. PlatformTypeList::CreatePlatformTypeListIterator
  30064. PlatformTypeList->CreatePlatformTypeListIterator
  30065. æT Class Method
  30066. æD ODPlatformTypeListIterator* CreatePlatformTypeListIterator();
  30067.  
  30068. æC Protection
  30069.     Public.  
  30070.  
  30071. Override policy
  30072.     Derived class can override.
  30073.     Derived class can call base class behavior, during derived class behavior.
  30074.  
  30075. Basic operation
  30076. Return an iterator for this list.  The client should dispose of the
  30077. iterator using the delete operator.
  30078.  
  30079. Inputs
  30080. None.
  30081.  
  30082. Outputs
  30083. <return>
  30084.     An iterator for this set.
  30085.  
  30086. Exceptions Signalled
  30087. kODErrOutOfMemory
  30088.     Could not create the iterator.
  30089.  
  30090. Pre conditions
  30091. The list has been initialized.
  30092.  
  30093. Post conditions
  30094. None.
  30095.  
  30096. æKY ODPlatformTypeList::InitPlatformTypeList
  30097. PlatformTypeList::InitPlatformTypeList
  30098. PlatformTypeList->InitPlatformTypeList
  30099. æT Class Method
  30100. æD void InitPlatformTypeList(
  30101. ODPlatformTypeList* initList);
  30102.  
  30103. æC Protection
  30104.     Public.  
  30105.  
  30106. Override policy
  30107.     Derived class can override.
  30108.     Derived class can call base class behavior, during derived class behavior.
  30109.  
  30110. Basic operation
  30111. Initializes data members and sets the list to a copy of the argument
  30112. list.
  30113.  
  30114. Inputs
  30115. initList
  30116.     A list of ODPlatformTypes from which to initialize this object.  A
  30117. copy of each item in 'initList' is added to this list, in the same
  30118. order as in 'initList'.  A kODNULL value results in an intially empty
  30119. list.
  30120.  
  30121. Outputs
  30122. None.
  30123.  
  30124. Exceptions Signalled
  30125. kODErrOutOfMemory
  30126.     Could not initialize the list.
  30127.  
  30128. Pre conditions
  30129. The list has been created.
  30130.  
  30131. Post conditions
  30132. The list has been initialized to copy of the argument list.
  30133.  
  30134. æKY ODPlatformTypeList::Remove
  30135. PlatformTypeList::Remove
  30136. PlatformTypeList->Remove
  30137. æT Class Method
  30138. æD void Remove(
  30139. ODPlatformType type);
  30140.  
  30141. æC Protection
  30142.     Public.  
  30143.  
  30144. Override policy
  30145.     Derived class can override.
  30146.     Derived class can call base class behavior, during derived class behavior.
  30147.  
  30148. Basic operation
  30149. Removes the argument platform type from the list.  If the type is not
  30150. in the list, no action is taken.
  30151.  
  30152. Inputs
  30153. type
  30154.     Platform type to be removed.
  30155.  
  30156. Outputs
  30157. None.
  30158.  
  30159. Exceptions Signalled
  30160. None.
  30161.  
  30162. Pre conditions
  30163. The list has been initialized.
  30164.  
  30165. Post conditions
  30166. The argument platform type is not in the list.
  30167.  
  30168. æKY ODPlatformTypeList::fList
  30169. PlatformTypeList::fList
  30170. æT Class Field
  30171. æD OrderedCollection*
  30172. æC 
  30173.  
  30174. æKY ODPlatformTypeListIteratorHelp
  30175. ODPlatformTypeListIterator
  30176. PlatformTypeListIterator
  30177. æKL ODPlatformTypeListIterator::ODPlatformTypeListIterator
  30178. ODPlatformTypeListIterator::~ODPlatformTypeListIterator
  30179. ODPlatformTypeListIterator::First
  30180. ODPlatformTypeListIterator::IsNotComplete
  30181. ODPlatformTypeListIterator::Next
  30182. ODPlatformTypeListIterator::fIterator
  30183. ODPlatformTypeListIterator::fPlatformTypeList
  30184. æC Basic Class Documentation
  30185. ODPlatformTypeListIterator is an iterator for the class
  30186. ODPlatformTypeList.  ODPlatformTypeListIterator has no base class.
  30187.  
  30188. Theory of Operation
  30189. This class is used to iterate over the elements of a
  30190. ODPlatformTypeList instance in order. Iteration is forward only, from
  30191. first to last. The iteration can be restarted at any time by calling
  30192. the First method. If the ODPlatformTypeList instance is modified
  30193. during the iteration, First or Next will throw an exception.  When an
  30194. exception is thrown, the iterator cannot be used further, and should
  30195. be destroyed.
  30196.  
  30197. Parts should create an ODPlatformTypeListIterator by calling the
  30198. CreatePlatformTypeListIterator method of the ODPlatformTypeList
  30199. instance to be iterated over.  The iterator should be disposed using
  30200. the delete operator.
  30201.  
  30202. Subclassing of ODPlatformTypeListIterator is not anticipated.
  30203.  
  30204. The implementation of ODPlatformTypeListIterator uses OpenDoc's
  30205. private collection class.
  30206.  
  30207. Invariants Maintained by Class
  30208.  
  30209. æKY ODPlatformTypeListIterator::ODPlatformTypeListIterator
  30210. PlatformTypeListIterator::ODPlatformTypeListIterator
  30211. PlatformTypeListIterator->ODPlatformTypeListIterator
  30212. æT Class Method
  30213. æD ODPlatformTypeListIterator(
  30214. ODPlatformTypeList* typeList);
  30215.  
  30216. æC Protection
  30217.     Public.  For use by ODPlatformTypeList only.  Iterators should be created by
  30218. calling ODPlatformTypeList::CreatePlatformTypeListIterator.
  30219.  
  30220. Override policy
  30221.     Derived class cannot override.
  30222.     Derived class must call base class behavior, during derived class behavior.
  30223.  
  30224. Basic operation
  30225. Class instance constructor.
  30226.  
  30227. Inputs
  30228. typeList
  30229.     The list of ODPlatformTypes to iterate over.
  30230.  
  30231. Outputs
  30232. None.
  30233.  
  30234. Exceptions Signalled
  30235. kODErrOutOfMemory
  30236.     Could not construct this instance.
  30237.  
  30238. Pre conditions
  30239. None.
  30240.  
  30241. Post conditions
  30242. The iterator is initialized to iterate over the argument list.
  30243.  
  30244. æKY ODPlatformTypeListIterator::~ODPlatformTypeListIterator
  30245. PlatformTypeListIterator::~ODPlatformTypeListIterator
  30246. PlatformTypeListIterator->~ODPlatformTypeListIterator
  30247. æT Class Method
  30248. æD ~ODPlatformTypeListIterator();
  30249.  
  30250. æC Protection
  30251.     Public.  
  30252.  
  30253. Override policy
  30254.     Derived class cannot override.
  30255.     Derived class cannot call base class behavior, during derived class behavior.
  30256.  
  30257. Basic operation
  30258. Class instance destructor.
  30259.  
  30260. Inputs
  30261. None.
  30262.  
  30263. Outputs
  30264. None.
  30265.  
  30266. Exceptions Signalled
  30267. None.
  30268.  
  30269. Pre conditions
  30270. The iterator has been created.
  30271.  
  30272. Post conditions
  30273. None.
  30274.  
  30275. æKY ODPlatformTypeListIterator::First
  30276. PlatformTypeListIterator::First
  30277. PlatformTypeListIterator->First
  30278. æT Class Method
  30279. æD ODPlatformType First();
  30280.  
  30281. æC Protection
  30282.     Public.  
  30283.  
  30284. Override policy
  30285.     Derived class can override.
  30286.     Derived class can call base class behavior, during derived class behavior.
  30287.  
  30288. Basic operation
  30289. Initiates iteration and returns the first ODPlatformType object in the
  30290. list.  After creating an iterator using
  30291. ODPlatformTypeList::CreatePlatformTypeListIterator,  call this method
  30292. once, then call Next repeatedly to iterate through all items in the
  30293. list.  First can be called at any time to restart the iteration.
  30294.  
  30295. Inputs
  30296. None.
  30297.  
  30298. Outputs
  30299. <return>
  30300.     The first ODType object in the list.  If the list is empty kODNULL is
  30301. returned, although the client should test for completion by calling
  30302. IsNotComplete.
  30303.  
  30304. Exceptions Signalled
  30305. kODErrIteratorOutOfSync
  30306.     The ODPlatformTypeList instance was changed during the iteration.
  30307.  
  30308. Pre conditions
  30309. None.
  30310.  
  30311. Post conditions
  30312. The first item in the list is returned, or kODNULL if the list is
  30313. empty.
  30314.  
  30315. æKY ODPlatformTypeListIterator::IsNotComplete
  30316. PlatformTypeListIterator::IsNotComplete
  30317. PlatformTypeListIterator->IsNotComplete
  30318. æT Class Method
  30319. æD ODBoolean IsNotComplete();
  30320.  
  30321. æC Protection
  30322.     Public.  
  30323.  
  30324. Override policy
  30325.     Derived class can override.
  30326.     Derived class can call base class behavior, during derived class behavior.
  30327.  
  30328. Basic operation
  30329. Test if iteration is complete.
  30330.  
  30331. Inputs
  30332. None.
  30333.  
  30334. Outputs
  30335. <return>
  30336.     Returns kODTrue if the last call to First or Next returned a valid
  30337. ODPlatformType element, and kODFalse otherwise.
  30338.  
  30339. Exceptions Signalled
  30340. None.
  30341.  
  30342. Pre conditions
  30343. First has been called to start the iteration.
  30344.  
  30345. Post conditions
  30346. None.
  30347.  
  30348. æKY ODPlatformTypeListIterator::Next
  30349. PlatformTypeListIterator::Next
  30350. PlatformTypeListIterator->Next
  30351. æT Class Method
  30352. æD ODPlatformType Next();
  30353.  
  30354. æC Protection
  30355.     Public.  
  30356.  
  30357. Override policy
  30358.     Derived class can override.
  30359.     Derived class can call base class behavior, during derived class behavior.
  30360.  
  30361. Basic operation
  30362. Returns the next element from the ordered list.  First should be
  30363. called prior to this routine to start the iteration.  Next can be
  30364. called repeatedly to iterate through the remaining items in the list. 
  30365. IsNotComplete returns kODFalse if the preceeding call to Next did not
  30366. return an item from the list.
  30367.  
  30368. Inputs
  30369. None.
  30370.  
  30371. Outputs
  30372. <return>
  30373.     The item in the ordered list after the last item returned by First or
  30374. Next since the iteration was started.  If the iteration is complete
  30375. kODNULL is returned, although the client should call IsNotComplete to
  30376. test for completion.
  30377.  
  30378. Exceptions Signalled
  30379. kODErrIteratorOutOfSync
  30380.     The ODPlatformTypeList instance was changed during the iteration.
  30381.  
  30382. Pre conditions
  30383. First has been called to start the iteration.
  30384.  
  30385. Post conditions
  30386. None.
  30387.  
  30388. æKY ODPlatformTypeListIterator::fIterator
  30389. PlatformTypeListIterator::fIterator
  30390. æT Class Field
  30391. æD OrderedCollectionIterator*
  30392. æC 
  30393. æKY ODPlatformTypeListIterator::fPlatformTypeList
  30394. PlatformTypeListIterator::fPlatformTypeList
  30395. æT Class Field
  30396. æD ODPlatformTypeList*
  30397. æC 
  30398.  
  30399. æKY ODRefCntObjectHelp
  30400. ODRefCntObject
  30401. RefCntObject
  30402. æKL ODRefCntObject::ODRefCntObject
  30403. ODRefCntObject::~ODRefCntObject
  30404. ODRefCntObject::GetRefCount
  30405. ODRefCntObject::IncrementRefCount
  30406. ODRefCntObject::InitRefCntObject
  30407. ODRefCntObject::Release
  30408. æC Basic Class Documentation
  30409. This is the base class for all OD classes which require reference
  30410. counting.  Often it is convenient to share one copy of an object
  30411. instead of making multiple copies of the object.  When an object is
  30412. shared, there needs to be a mechanism for tracking the number of
  30413. references to it so that the object can be properly disposed of when
  30414. there are no references to it.  ODRefCntObject provides this general
  30415. functionality by keeping track of the number of references to every
  30416. instance.
  30417.  
  30418. Many OpenDoc classes are subclasses of ODRefCntObject -- ODContainer,
  30419. ODDocument, ODDraft, ODStorageUnit and ODWindow. However, the clients
  30420. of these classes do not have to deal with the creation and destruction
  30421. of the ODRefCntObject as these operations are hidden in the factory
  30422. class. For example, in order to create a new ODContainer object, the
  30423. client should call ODStorageSystem::CreateContainer.
  30424. ODStorageSystem::CreateContainer then makes the appropriate calls to
  30425. instantiate and initialize the ODContainer object.
  30426.  
  30427. ODRefCntObject can be subclassed by part developers or platform
  30428. developers. However, this class only handles ref-counting. The actual
  30429. garbage collection is done by the factory object which instantiates
  30430. this ODRefCntObject. For example, when the refcount of a ODContainer
  30431. goes down to 0, ODStorageSystem is notified (through
  30432. ODStorageSystem::ReleaseContainer) so that it can delete the
  30433. ODContainer.
  30434.  
  30435. Theory of Operation
  30436.  
  30437.  
  30438. Invariants Maintained by Class
  30439. The reference count of any ODRefCntObject object is always >=0.
  30440. Any ODRefCntObject is valid (i.e., its pointer can be used) if its
  30441. refCount > 0.
  30442. æKY ODRefCntObject::ODRefCntObject
  30443. RefCntObject::ODRefCntObject
  30444. RefCntObject->ODRefCntObject
  30445. æT Class Method
  30446. æD ODRefCntObject();
  30447.  
  30448. æC Protection
  30449.     Public.  
  30450.  
  30451. Override policy
  30452.     Derived class can override.
  30453.     Derived class must call base class behavior, before derived class behavior.
  30454.  
  30455. Basic operation
  30456. Creates the object.
  30457.  
  30458. Inputs
  30459. none
  30460.  
  30461. Outputs
  30462. none
  30463.  
  30464. Exceptions Signalled
  30465. None.
  30466.  
  30467. Pre conditions
  30468. None.
  30469.  
  30470. Post conditions
  30471. None.
  30472.  
  30473. æKY ODRefCntObject::~ODRefCntObject
  30474. RefCntObject::~ODRefCntObject
  30475. RefCntObject->~ODRefCntObject
  30476. æT Class Method
  30477. æD ~ODRefCntObject();
  30478.  
  30479. æC Protection
  30480.     Public.  
  30481.  
  30482. Override policy
  30483.     Derived class can override.
  30484.     Derived class must call base class behavior, after derived class behavior.
  30485.  
  30486. Basic operation
  30487. Deletes this object.
  30488.  
  30489. Inputs
  30490. none
  30491.  
  30492. Outputs
  30493. none
  30494.  
  30495. Exceptions Signalled
  30496. None.
  30497.  
  30498. Pre conditions
  30499. None.
  30500.  
  30501. Post conditions
  30502. None.
  30503.  
  30504. æKY ODRefCntObject::GetRefCount
  30505. RefCntObject::GetRefCount
  30506. RefCntObject->GetRefCount
  30507. æT Class Method
  30508. æD ODULong GetRefCount();
  30509.  
  30510. æC Protection
  30511.     Public.  
  30512.  
  30513. Override policy
  30514.     Derived class can override.
  30515.     Derived class must call base class behavior, before derived class behavior.
  30516.  
  30517. Basic operation
  30518. None.
  30519.  
  30520. Inputs
  30521. None.
  30522.  
  30523. Outputs
  30524. <return>
  30525.     the current refcount of this object
  30526.  
  30527. Exceptions Signalled
  30528. None.
  30529.  
  30530. Pre conditions
  30531. None.
  30532.  
  30533. Post conditions
  30534. None.
  30535.  
  30536. æKY ODRefCntObject::IncrementRefCount
  30537. RefCntObject::IncrementRefCount
  30538. RefCntObject->IncrementRefCount
  30539. æT Class Method
  30540. æD void IncrementRefCount();
  30541.  
  30542. æC Protection
  30543.     Public.  
  30544.  
  30545. Override policy
  30546.     Derived class can override.
  30547.     Derived class must call base class behavior, before derived class behavior.
  30548.  
  30549. Basic operation
  30550. Increment the reference count of this object by 1.
  30551.  
  30552. Inputs
  30553. none
  30554.  
  30555. Outputs
  30556. none
  30557.  
  30558. Exceptions Signalled
  30559. None.
  30560.  
  30561. Pre conditions
  30562. reference count of this object = x
  30563.  
  30564. Post conditions
  30565. reference count of this object = x+1
  30566.  
  30567. æKY ODRefCntObject::InitRefCntObject
  30568. RefCntObject::InitRefCntObject
  30569. RefCntObject->InitRefCntObject
  30570. æT Class Method
  30571. æD void InitRefCntObject();
  30572.  
  30573. æC Protection
  30574.     Public.  
  30575.  
  30576. Override policy
  30577.     Derived class cannot override.
  30578.     Derived class must call base class behavior, before derived class behavior.
  30579.  
  30580. Basic operation
  30581. Initializes this object and sets its refCount to 1.
  30582. Derived class XXX must call this method inside its InitXXX method.
  30583.  
  30584. Inputs
  30585. None.
  30586.  
  30587. Outputs
  30588. None.
  30589.  
  30590. Exceptions Signalled
  30591. None.
  30592.  
  30593. Pre conditions
  30594. None.
  30595.  
  30596. Post conditions
  30597. refCount of this object == 1
  30598.  
  30599. æKY ODRefCntObject::Release
  30600. RefCntObject::Release
  30601. RefCntObject->Release
  30602. æT Class Method
  30603. æD void Release();
  30604.  
  30605. æC Protection
  30606.     Public.  
  30607.  
  30608. Override policy
  30609.     Derived class can override.
  30610.     Derived class must call base class behavior, after derived class behavior.
  30611.  
  30612. Basic operation
  30613. Decrements its reference count by 1.
  30614.  
  30615. Inputs
  30616. none
  30617.  
  30618. Outputs
  30619. none
  30620.  
  30621. Exceptions Signalled
  30622. kODErrZeroRefCount
  30623.     The reference count cannot be decremented because the reference count
  30624. is already 0.
  30625.  
  30626. Pre conditions
  30627. reference count of this object = x, where x>0
  30628.  
  30629. Post conditions
  30630. reference count of this object = x-1
  30631.  
  30632.  
  30633. æKY ODSemanticInterfaceHelp
  30634. ODSemanticInterface
  30635. SemanticInterface
  30636. æKL ODSemanticInterface::ODSemanticInterface
  30637. ODSemanticInterface::~ODSemanticInterface
  30638. ODSemanticInterface::CallAdjustMarksProc
  30639. ODSemanticInterface::CallCoercionHandler
  30640. ODSemanticInterface::CallCompareProc
  30641. ODSemanticInterface::CallCountProc
  30642. ODSemanticInterface::CallDisposeTokenProc
  30643. ODSemanticInterface::CallEventHandler
  30644. ODSemanticInterface::CallGetErrDescProc
  30645. ODSemanticInterface::CallGetMarkTokenProc
  30646. ODSemanticInterface::CallMarkProc
  30647. ODSemanticInterface::CallObjectAccessor
  30648. ODSemanticInterface::CallPredispatchProc
  30649. ODSemanticInterface::GetOSLSupportFlags
  30650. ODSemanticInterface::InitSemanticInterface
  30651. ODSemanticInterface::SetOSLSupportFlags
  30652. ODSemanticInterface::UsingPredispatchProc
  30653. æC Basic Class Documentation
  30654. This class encapsulates the functionality necessary to call semantic
  30655. event handlers and object accessors. Every ODPart instance that
  30656. supports scripting must own one of these, and the ODSession object
  30657. keeps a reference to an instance for the application shell. The
  30658. platform vendor will implement.
  30659. ODSemanticInterface is an extension class and descends from
  30660. ODExtension
  30661.  
  30662. Theory of Operation
  30663. ODSemanticInterface interacts primarily with ODMessageInterface,
  30664. ODNameResolver,  ODSession, and ODPart.
  30665. Each ODPart object supporting scripting and the ODSession will
  30666. instantiate one or more of these for its own use. 
  30667. The application shell will use the ODSemanticInterface returned by
  30668. ODSession::GetShellSemanticInterface.
  30669. To send an AppleEvent to a part, the sending part calls
  30670. ODMessageInterface::Send with an AppleEvent whose direct parameter is
  30671. an object specifier that contains some description of the receiving
  30672. part. The MessageInterface object will resolve the direct parameter to
  30673. identify the destination part and then use that part's
  30674. ODSemanticInterface object to dispatch the event. The
  30675. ODMessageInterface object may need to use the ODSemanticInterface
  30676. object of a number of parts if the resolution of the object specifier
  30677. reveals the final part destination is an embedded part. The
  30678. ODSemanticInterface object will walk down the hierarchy of parts from
  30679. the root part to the final destination part.
  30680. A part must be able to identify any of its embedded parts if
  30681. requested. This is how we locate an embedded part if one is specified
  30682. in the object specifier.
  30683.  
  30684. Invariants Maintained by Class
  30685. There is only one part instance for which an instance of
  30686. ODSemanticInterface is an extension.
  30687. æKY ODSemanticInterface::ODSemanticInterface
  30688. SemanticInterface::ODSemanticInterface
  30689. SemanticInterface->ODSemanticInterface
  30690. æT Class Method
  30691. æD ODSemanticInterface();
  30692.  
  30693. æC Protection
  30694.     Public.  
  30695.  
  30696. Override policy
  30697.     Derived class cannot override.
  30698.     Derived class cannot call base class behavior, before derived class behavior.
  30699.  
  30700. Basic operation
  30701. Constructor of the class.
  30702.  
  30703. Inputs
  30704. None.
  30705.  
  30706. Outputs
  30707. None.
  30708.  
  30709. Exceptions Signalled
  30710. None.
  30711.  
  30712. Pre conditions
  30713. None.
  30714.  
  30715. Post conditions
  30716. this is an uninitialized ODObject object.
  30717.  
  30718. æKY ODSemanticInterface::~ODSemanticInterface
  30719. SemanticInterface::~ODSemanticInterface
  30720. SemanticInterface->~ODSemanticInterface
  30721. æT Class Method
  30722. æD ~ODSemanticInterface();
  30723.  
  30724. æC Protection
  30725.     Public.  
  30726.  
  30727. Override policy
  30728.     Derived class cannot override.
  30729.     Derived class cannot call base class behavior, after derived class behavior.
  30730.  
  30731. Basic operation
  30732. Destructor of the class.
  30733.  
  30734. Inputs
  30735. None.
  30736.  
  30737. Outputs
  30738. None.
  30739.  
  30740. Exceptions Signalled
  30741. None.
  30742.  
  30743. Pre conditions
  30744. None.
  30745.  
  30746. Post conditions
  30747. None.
  30748.  
  30749. æKY ODSemanticInterface::CallAdjustMarksProc
  30750. SemanticInterface::CallAdjustMarksProc
  30751. SemanticInterface->CallAdjustMarksProc
  30752. æT Class Method
  30753. æD ;
  30754.  
  30755. æC Protection
  30756.     Public.  
  30757.  
  30758. Override policy
  30759.     Derived class can override.
  30760.     Derived class can call base class behavior, during derived class behavior.
  30761.  
  30762. Basic operation
  30763. Call the adjust marks proc for this semantic interface
  30764.  
  30765. Inputs
  30766. thePart
  30767.     the parts for which this is the SemanticInterface extension.
  30768. newStart
  30769.     <See OSL documents>
  30770. newStop
  30771.     <See OSL documents>
  30772. markToken
  30773.     <See OSL documents>
  30774.  
  30775. Outputs
  30776. markToken
  30777.     <See OSL documents>
  30778.  
  30779. Exceptions Signalled
  30780. various
  30781.     whatever error may have been returned by the calling of the proc.
  30782.  
  30783. Pre conditions
  30784. None.
  30785.  
  30786. Post conditions
  30787. Side effects of the proc that was invoked.
  30788.  
  30789. æKY ODSemanticInterface::CallCoercionHandler
  30790. SemanticInterface::CallCoercionHandler
  30791. SemanticInterface->CallCoercionHandler
  30792. æT Class Method
  30793. æD ;
  30794.  
  30795. æC Protection
  30796.     Public.  
  30797.  
  30798. Override policy
  30799.     Derived class can override.
  30800.     Derived class can call base class behavior, during derived class behavior.
  30801.  
  30802. Basic operation
  30803. Call the coercion handler corresponding to the descriptorType of
  30804. theODDesc and toType.
  30805.  
  30806. Inputs
  30807. thePart
  30808.     the parts for which this is the SemanticInterface extension.
  30809. theODDesc
  30810.     The source ODDesc.
  30811. toType
  30812.     The desired descriptorType.
  30813.  
  30814. Outputs
  30815. result
  30816.     The resulting coerced ODDesc.
  30817.  
  30818. Exceptions Signalled
  30819. various
  30820.     whatever error may have been returned by the coercion handler.
  30821.  
  30822. Pre conditions
  30823. None.
  30824.  
  30825. Post conditions
  30826. Side effects of the event handler that was invoked.
  30827.  
  30828. æKY ODSemanticInterface::CallCompareProc
  30829. SemanticInterface::CallCompareProc
  30830. SemanticInterface->CallCompareProc
  30831. æT Class Method
  30832. æD ;
  30833.  
  30834. æC Protection
  30835.     Public.  
  30836.  
  30837. Override policy
  30838.     Derived class can override.
  30839.     Derived class can call base class behavior, during derived class behavior.
  30840.  
  30841. Basic operation
  30842. Call the compare proc for this semantic interface
  30843.  
  30844. Inputs
  30845. thePart
  30846.     the parts for which this is the SemanticInterface extension.
  30847. oper
  30848.     <See OSL documents>
  30849. obj1
  30850.     <See OSL documents>
  30851. obj2
  30852.     <See OSL documents>
  30853. result
  30854.     <See OSL documents>
  30855.  
  30856. Outputs
  30857. result
  30858.     <See OSL documents>
  30859.  
  30860. Exceptions Signalled
  30861. various
  30862.     whatever error may have been returned by the calling of the proc.
  30863.  
  30864. Pre conditions
  30865. None.
  30866.  
  30867. Post conditions
  30868. Side effects of the proc that was invoked.
  30869.  
  30870. æKY ODSemanticInterface::CallCountProc
  30871. SemanticInterface::CallCountProc
  30872. SemanticInterface->CallCountProc
  30873. æT Class Method
  30874. æD ;
  30875.  
  30876. æC Protection
  30877.     Public.  
  30878.  
  30879. Override policy
  30880.     Derived class can override.
  30881.     Derived class can call base class behavior, during derived class behavior.
  30882.  
  30883. Basic operation
  30884. Call the count proc for this semantic interface
  30885.  
  30886. Inputs
  30887. thePart
  30888.     the parts for which this is the SemanticInterface extension.
  30889. desiredType
  30890.     <See OSL documents>
  30891. containerClass
  30892.     <See OSL documents>
  30893. container
  30894.     <See OSL documents>
  30895. result
  30896.     <See OSL documents>
  30897.  
  30898. Outputs
  30899. result
  30900.     <See OSL documents>
  30901.  
  30902. Exceptions Signalled
  30903. various
  30904.     whatever error may have been returned by the calling of the proc.
  30905.  
  30906. Pre conditions
  30907. None.
  30908.  
  30909. Post conditions
  30910. Side effects of the proc that was invoked.
  30911.  
  30912. æKY ODSemanticInterface::CallDisposeTokenProc
  30913. SemanticInterface::CallDisposeTokenProc
  30914. SemanticInterface->CallDisposeTokenProc
  30915. æT Class Method
  30916. æD ;
  30917.  
  30918. æC Protection
  30919.     Public.  
  30920.  
  30921. Override policy
  30922.     Derived class can override.
  30923.     Derived class can call base class behavior, during derived class behavior.
  30924.  
  30925. Basic operation
  30926. Call the dipose token proc for this semantic interface
  30927.  
  30928. Inputs
  30929. thePart
  30930.     the parts for which this is the SemanticInterface extension.
  30931. unneededToken
  30932.     <See OSL documents>
  30933.  
  30934. Outputs
  30935. unneededToken
  30936.     <See OSL documents>
  30937.  
  30938. Exceptions Signalled
  30939. various
  30940.     whatever error may have been returned by the calling of the proc.
  30941.  
  30942. Pre conditions
  30943. None.
  30944.  
  30945. Post conditions
  30946. Side effects of the proc that was invoked.
  30947.  
  30948. æKY ODSemanticInterface::CallEventHandler
  30949. SemanticInterface::CallEventHandler
  30950. SemanticInterface->CallEventHandler
  30951. æT Class Method
  30952. æD ;
  30953.  
  30954. æC Protection
  30955.     Public.  
  30956.  
  30957. Override policy
  30958.     Derived class can override.
  30959.     Derived class can call base class behavior, during derived class behavior.
  30960.  
  30961. Basic operation
  30962. Call the event handler corresponding to the eventClass and eventID of
  30963. theAppleEvent.
  30964.  
  30965. Inputs
  30966. thePart
  30967.     the parts for which this is the SemanticInterface extension.
  30968. theODAppleEvent
  30969.     The Apple event.
  30970. reply
  30971.     The Apple event reply.
  30972.  
  30973. Outputs
  30974. reply
  30975.     Any reply that it is appropriate for the part to return.
  30976.  
  30977. Exceptions Signalled
  30978. various
  30979.     whatever error may have been returned by the event handler.
  30980.  
  30981. Pre conditions
  30982. None.
  30983.  
  30984. Post conditions
  30985. Side effects of the event handler that was invoked.
  30986.  
  30987. æKY ODSemanticInterface::CallGetErrDescProc
  30988. SemanticInterface::CallGetErrDescProc
  30989. SemanticInterface->CallGetErrDescProc
  30990. æT Class Method
  30991. æD ;
  30992.  
  30993. æC Protection
  30994.     Public.  
  30995.  
  30996. Override policy
  30997.     Derived class can override.
  30998.     Derived class can call base class behavior, during derived class behavior.
  30999.  
  31000. Basic operation
  31001. Call the get error descriptor proc for this semantic interface
  31002.  
  31003. Inputs
  31004. thePart
  31005.     the parts for which this is the SemanticInterface extension.
  31006.  
  31007. Outputs
  31008. errDesc
  31009.     <See OSL documents>
  31010.  
  31011. Exceptions Signalled
  31012. various
  31013.     whatever error may have been returned by the calling of the proc.
  31014.  
  31015. Pre conditions
  31016. None.
  31017.  
  31018. Post conditions
  31019. Side effects of the proc that was invoked.
  31020.  
  31021. æKY ODSemanticInterface::CallGetMarkTokenProc
  31022. SemanticInterface::CallGetMarkTokenProc
  31023. SemanticInterface->CallGetMarkTokenProc
  31024. æT Class Method
  31025. æD ;
  31026.  
  31027. æC Protection
  31028.     Public.  
  31029.  
  31030. Override policy
  31031.     Derived class can override.
  31032.     Derived class can call base class behavior, during derived class behavior.
  31033.  
  31034. Basic operation
  31035. Call the get mark token proc for this semantic interface
  31036.  
  31037. Inputs
  31038. thePart
  31039.     the parts for which this is the SemanticInterface extension.
  31040. dContainerToken
  31041.     <See OSL documents>
  31042. containerClass
  31043.     <See OSL documents>
  31044.  
  31045. Outputs
  31046. result
  31047.     <See OSL documents>
  31048.  
  31049. Exceptions Signalled
  31050. various
  31051.     whatever error may have been returned by the calling of the proc.
  31052.  
  31053. Pre conditions
  31054. None.
  31055.  
  31056. Post conditions
  31057. Side effects of the proc that was invoked.
  31058.  
  31059. æKY ODSemanticInterface::CallMarkProc
  31060. SemanticInterface::CallMarkProc
  31061. SemanticInterface->CallMarkProc
  31062. æT Class Method
  31063. æD ;
  31064.  
  31065. æC Protection
  31066.     Public.  
  31067.  
  31068. Override policy
  31069.     Derived class can override.
  31070.     Derived class can call base class behavior, during derived class behavior.
  31071.  
  31072. Basic operation
  31073. Call the marking proc for this semantic interface
  31074.  
  31075. Inputs
  31076. thePart
  31077.     the parts for which this is the SemanticInterface extension.
  31078. dToken
  31079.     <See OSL documents>
  31080. MarkToken
  31081.     <See OSL documents>
  31082. index
  31083.     <See OSL documents>
  31084.  
  31085. Outputs
  31086. markToken
  31087.     <See OSL documents>
  31088.  
  31089. Exceptions Signalled
  31090. various
  31091.     whatever error may have been returned by the calling of the proc.
  31092.  
  31093. Pre conditions
  31094. None.
  31095.  
  31096. Post conditions
  31097. Side effects of the proc that was invoked.
  31098.  
  31099. æKY ODSemanticInterface::CallObjectAccessor
  31100. SemanticInterface::CallObjectAccessor
  31101. SemanticInterface->CallObjectAccessor
  31102. æT Class Method
  31103. æD ;
  31104.  
  31105. æC Protection
  31106.     Public.  
  31107.  
  31108. Override policy
  31109.     Derived class can override.
  31110.     Derived class can call base class behavior, during derived class behavior.
  31111.  
  31112. Basic operation
  31113. Call the object accessor corresponding to containerClass and
  31114. desiredClass.
  31115.  
  31116. Inputs
  31117. thePart
  31118.     the parts for which this is the SemanticInterface extension.
  31119. desiredClass
  31120.     the type of the object.
  31121. container
  31122.     The token describing the container for this object.
  31123. containerClass
  31124.     The type of the container.
  31125. form
  31126.     The keyform for selectionData.
  31127. selectionData
  31128.     The data describing the object.
  31129. value
  31130.     The unitialized token.
  31131.  
  31132. Outputs
  31133. value
  31134.     The resulting token describing the object.
  31135.  
  31136. Exceptions Signalled
  31137. various
  31138.     whatever error may have been returned by the object accessor.
  31139.  
  31140. Pre conditions
  31141. None.
  31142.  
  31143. Post conditions
  31144. Side effects of the object accessor that was invoked.
  31145.  
  31146. æKY ODSemanticInterface::CallPredispatchProc
  31147. SemanticInterface::CallPredispatchProc
  31148. SemanticInterface->CallPredispatchProc
  31149. æT Class Method
  31150. æD ;
  31151.  
  31152. æC Protection
  31153.     Public.  
  31154.  
  31155. Override policy
  31156.     Derived class can override.
  31157.     Derived class can call base class behavior, during derived class behavior.
  31158.  
  31159. Basic operation
  31160. Call the part's predispatch proc. This method is only invoked if
  31161. UsingPredispatchProc has previously been called with the usingNotUsing
  31162. parameter set to true.
  31163.  
  31164. Inputs
  31165. thePart
  31166.     the parts for which this is the SemanticInterface extension.
  31167. theODAppleEvent
  31168.     The Apple event.
  31169. reply
  31170.     The Apple event reply.
  31171.  
  31172. Outputs
  31173. reply
  31174.     Any reply that it is appropriate for the part to return.
  31175.  
  31176. Exceptions Signalled
  31177. various
  31178.     whatever error may have been returned by the predispatch proc.
  31179.  
  31180. Pre conditions
  31181. None.
  31182.  
  31183. Post conditions
  31184. Side effects of the predispatch proc that was invoked.
  31185.  
  31186. æKY ODSemanticInterface::GetOSLSupportFlags
  31187. SemanticInterface::GetOSLSupportFlags
  31188. SemanticInterface->GetOSLSupportFlags
  31189. æT Class Method
  31190. æD 
  31191.  
  31192. æC Protection
  31193.     Public.  
  31194.  
  31195. Override policy
  31196.     Derived class can override.
  31197.     Derived class must call base class behavior, during derived class behavior.
  31198.  
  31199. Basic operation
  31200. Returns the OSL support level flags for this ODSemanticInterface.
  31201.  
  31202. Inputs
  31203. None.
  31204.  
  31205. Outputs
  31206. <return>
  31207.     The flags representing the level of OSL support as detailed in the
  31208. documentation for the AEResolve call.
  31209.  
  31210. Exceptions Signalled
  31211. None.
  31212.  
  31213. Pre conditions
  31214. None.
  31215.  
  31216. Post conditions
  31217. None.
  31218.  
  31219. æKY ODSemanticInterface::InitSemanticInterface
  31220. SemanticInterface::InitSemanticInterface
  31221. SemanticInterface->InitSemanticInterface
  31222. æT Class Method
  31223. æD 
  31224.  
  31225. æC Protection
  31226.     Public.  
  31227.  
  31228. Override policy
  31229.     Derived class cannot override.
  31230.     Derived class must call base class behavior, before derived class behavior.
  31231.  
  31232. Basic operation
  31233. Do initialization that can fail.
  31234.  
  31235. Inputs
  31236. base
  31237.     the ODPart* for which this is an extension.
  31238.  
  31239. Outputs
  31240. None.
  31241.  
  31242. Exceptions Signalled
  31243. kODErrOutOfMemory
  31244.     Not enough memory to initialize object.
  31245.  
  31246. Pre conditions
  31247. None.
  31248.  
  31249. Post conditions
  31250. Object is completely initialized.
  31251.  
  31252. æKY ODSemanticInterface::SetOSLSupportFlags
  31253. SemanticInterface::SetOSLSupportFlags
  31254. SemanticInterface->SetOSLSupportFlags
  31255. æT Class Method
  31256. æD 
  31257.  
  31258. æC Protection
  31259.     Public.  
  31260.  
  31261. Override policy
  31262.     Derived class can override.
  31263.     Derived class must call base class behavior, during derived class behavior.
  31264.  
  31265. Basic operation
  31266. Sets the flags that determine the level of OSL support that this
  31267. ODSemanticInterface provides.
  31268.  
  31269. Inputs
  31270. flags
  31271.     The flags representing the level of OSL support as detailed in the
  31272. documentation for the AEResolve call.
  31273.  
  31274. Outputs
  31275. None.
  31276.  
  31277. Exceptions Signalled
  31278. None.
  31279.  
  31280. Pre conditions
  31281. None.
  31282.  
  31283. Post conditions
  31284. None.
  31285.  
  31286. æKY ODSemanticInterface::UsingPredispatchProc
  31287. SemanticInterface::UsingPredispatchProc
  31288. SemanticInterface->UsingPredispatchProc
  31289. æT Class Method
  31290. æD 
  31291.  
  31292. æC Protection
  31293.     Public.  
  31294.  
  31295. Override policy
  31296.     Derived class can override.
  31297.     Derived class must call base class behavior, during derived class behavior.
  31298.  
  31299. Basic operation
  31300. Notify the extension that you do/do not want to receive predispatch
  31301. calls.
  31302.  
  31303. Inputs
  31304. usingNotUsing
  31305.     Whether or not you want CallPredispatchProc to be called every time
  31306. the process is sent an AppleEvent.
  31307.  
  31308. Outputs
  31309. <return>
  31310.     The part represented by the token, or kODNull if the token does not
  31311. represent an embedded part.
  31312.  
  31313. Exceptions Signalled
  31314. None.
  31315.  
  31316. Pre conditions
  31317. None.
  31318.  
  31319. Post conditions
  31320. The ODBaseSemanticInterface is registered as using or not using a
  31321. predispatch proc.
  31322.  
  31323.  
  31324. æKY ODSessionHelp
  31325. ODSession
  31326. Session
  31327. æKL ODSession::ODSession
  31328. ODSession::~ODSession
  31329. ODSession::GetArbitrator
  31330. ODSession::GetBinding
  31331. ODSession::GetClipboard
  31332. ODSession::GetDispatcher
  31333. ODSession::GetDragAndDrop
  31334. ODSession::GetInfo
  31335. ODSession::GetLinkManager
  31336. ODSession::GetMessageInterface
  31337. ODSession::GetNameResolver
  31338. ODSession::GetNameSpaceManager
  31339. ODSession::GetSemanticInterface
  31340. ODSession::GetShellSemtInterface
  31341. ODSession::GetStorageSystem
  31342. ODSession::GetTranslation
  31343. ODSession::GetType
  31344. ODSession::GetUndo
  31345. ODSession::GetUserName
  31346. ODSession::GetWindowState
  31347. ODSession::InitSession
  31348. ODSession::Purge
  31349. ODSession::RemoveEntry
  31350. ODSession::SetArbitrator
  31351. ODSession::SetBinding
  31352. ODSession::SetClipboard
  31353. ODSession::SetDispatcher
  31354. ODSession::SetDragAndDrop
  31355. ODSession::SetInfo
  31356. ODSession::SetLinkManager
  31357. ODSession::SetMessageInterface
  31358. ODSession::SetNameResolver
  31359. ODSession::SetNameSpaceManager
  31360. ODSession::SetShellSemtInterface
  31361. ODSession::SetStorageSystem
  31362. ODSession::SetTranslation
  31363. ODSession::SetUndo
  31364. ODSession::SetWindowState
  31365. ODSession::Tokenize
  31366. ODSession::UniqueChangeID
  31367. ODSession::fArbitrator
  31368. ODSession::fClipboard
  31369. ODSession::fDispatcher
  31370. ODSession::fDragAndDrop
  31371. ODSession::fLinkManager
  31372. ODSession::fMessageInterface
  31373. ODSession::fNameResolver
  31374. ODSession::fSemanticInterface
  31375. ODSession::fShellSemtInterface
  31376. ODSession::fStorage
  31377. ODSession::fSymbols
  31378. ODSession::fTokenTable
  31379. ODSession::fTranslation
  31380. ODSession::fUndo
  31381. ODSession::fWindowState
  31382. æC Basic Class Documentation
  31383. This class encapsulates access to OpenDoc globals as well as
  31384. initialization and shutdown of the OpenDoc environment. It calls the
  31385. constructor for a number of unique global objects and must have access
  31386. to those classes' constructors. Platform vendor should implement.
  31387. ODSession is a subclass of ODObject.
  31388. Note that ODSession is a subclass of ODBaseSession. This class
  31389. contains some of the public API available to developers. However, the
  31390. existence of ODBaseSession is an artifact of the C++ language. Please
  31391. use this document as a guide to the OpenDoc session-level
  31392. functionality.
  31393.  
  31394. Theory of Operation
  31395. Initialization of OpenDoc is through the function OpenODSession  and
  31396. shutdown through the function ODSession::Close. OpenODSession  creates
  31397. a number of global objects, saving references to them, and
  31398. ODSession::Close destroys these objects. Accessor functions return the
  31399. value of the cached references.
  31400.  
  31401. Invariants Maintained by Class
  31402. All member variables always contain valid references.
  31403. æKY ODSession::ODSession
  31404. Session::ODSession
  31405. Session->ODSession
  31406. æT Class Method
  31407. æD ODSession();
  31408.  
  31409. æC Protection
  31410.     Private.  to the function OpenODSession .
  31411.  
  31412. Override policy
  31413.     Derived class cannot override.
  31414.     Derived class cannot call base class behavior, during derived class behavior.
  31415.  
  31416. Basic operation
  31417. Creates a number of global unique objects. Caches references to these
  31418. objects.
  31419.  
  31420. Inputs
  31421. None
  31422.  
  31423. Outputs
  31424. None
  31425.  
  31426. Exceptions Signalled
  31427. None
  31428.  
  31429. Pre conditions
  31430. None.
  31431.  
  31432. Post conditions
  31433. The ODSession object is initialized.
  31434.  
  31435. æKY ODSession::~ODSession
  31436. Session::~ODSession
  31437. Session->~ODSession
  31438. æT Class Method
  31439. æD virtual ~ODSession();
  31440.  
  31441. æC Protection
  31442.     Private.  to the function ODSession::Close.
  31443.  
  31444. Override policy
  31445.     Derived class cannot override.
  31446.     Derived class cannot call base class behavior, during derived class behavior.
  31447.  
  31448. Basic operation
  31449. Deletes all the objects created in the constructor
  31450.  
  31451. Inputs
  31452. None
  31453.  
  31454. Outputs
  31455. None
  31456.  
  31457. Exceptions Signalled
  31458. None
  31459.  
  31460. Pre conditions
  31461. None.
  31462.  
  31463. Post conditions
  31464. ODSysmtemInterface object is destroyed.
  31465.  
  31466. æKY ODSession::GetArbitrator
  31467. Session::GetArbitrator
  31468. Session->GetArbitrator
  31469. æT Class Method
  31470. æD virtual ODArbitrator* GetArbitrator();
  31471.  
  31472. æC Protection
  31473.     Public.  
  31474.  
  31475. Override policy
  31476.     Derived class cannot override.
  31477.     Derived class cannot call base class behavior, during derived class behavior.
  31478.  
  31479. Basic operation
  31480. Return reference to the global object.
  31481.  
  31482. Inputs
  31483. None
  31484.  
  31485. Outputs
  31486. Return
  31487.     Reference to the global object
  31488.  
  31489. Exceptions Signalled
  31490. None
  31491.  
  31492. Pre conditions
  31493. None.
  31494.  
  31495. Post conditions
  31496. None.
  31497.  
  31498. æKY ODSession::GetBinding
  31499. Session::GetBinding
  31500. Session->GetBinding
  31501. æT Class Method
  31502. æD ;
  31503.  
  31504. æC Protection
  31505.     Public.  
  31506.  
  31507. Override policy
  31508.     Derived class cannot override.
  31509.     Derived class cannot call base class behavior, during derived class behavior.
  31510.  
  31511. Basic operation
  31512. Return reference to the global object.
  31513.  
  31514. Inputs
  31515. None
  31516.  
  31517. Outputs
  31518. Return
  31519.     Reference to the global object
  31520.  
  31521. Exceptions Signalled
  31522. None
  31523.  
  31524. Pre conditions
  31525. None.
  31526.  
  31527. Post conditions
  31528. None.
  31529.  
  31530. æKY ODSession::GetClipboard
  31531. Session::GetClipboard
  31532. Session->GetClipboard
  31533. æT Class Method
  31534. æD virtual ODClipboard* GetClipboard();
  31535.  
  31536. æC Protection
  31537.     Public.  
  31538.  
  31539. Override policy
  31540.     Derived class cannot override.
  31541.     Derived class cannot call base class behavior, during derived class behavior.
  31542.  
  31543. Basic operation
  31544. Return reference to the global object.
  31545.  
  31546. Inputs
  31547. None
  31548.  
  31549. Outputs
  31550. Return
  31551.     Reference to the global object
  31552.  
  31553. Exceptions Signalled
  31554. None
  31555.  
  31556. Pre conditions
  31557. None.
  31558.  
  31559. Post conditions
  31560. None.
  31561.  
  31562. æKY ODSession::GetDispatcher
  31563. Session::GetDispatcher
  31564. Session->GetDispatcher
  31565. æT Class Method
  31566. æD virtual ODDispatcher* GetDispatcher();
  31567.  
  31568. æC Protection
  31569.     Public.  
  31570.  
  31571. Override policy
  31572.     Derived class cannot override.
  31573.     Derived class cannot call base class behavior, during derived class behavior.
  31574.  
  31575. Basic operation
  31576. Return reference to the global object.
  31577.  
  31578. Inputs
  31579. None
  31580.  
  31581. Outputs
  31582. Return
  31583.     Reference to the global object
  31584.  
  31585. Exceptions Signalled
  31586. None
  31587.  
  31588. Pre conditions
  31589. None.
  31590.  
  31591. Post conditions
  31592. None.
  31593.  
  31594. æKY ODSession::GetDragAndDrop
  31595. Session::GetDragAndDrop
  31596. Session->GetDragAndDrop
  31597. æT Class Method
  31598. æD virtual ODDragAndDrop* GetDragAndDrop();
  31599.  
  31600. æC Protection
  31601.     Public.  
  31602.  
  31603. Override policy
  31604.     Derived class cannot override.
  31605.     Derived class cannot call base class behavior, during derived class behavior.
  31606.  
  31607. Basic operation
  31608. Return reference to the global object.
  31609.  
  31610. Inputs
  31611. None
  31612.  
  31613. Outputs
  31614. Return
  31615.     Reference to the global object
  31616.  
  31617. Exceptions Signalled
  31618. None
  31619.  
  31620. Pre conditions
  31621. None.
  31622.  
  31623. Post conditions
  31624. None.
  31625.  
  31626. æKY ODSession::GetInfo
  31627. Session::GetInfo
  31628. Session->GetInfo
  31629. æT Class Method
  31630. æD ;
  31631.  
  31632. æC Protection
  31633.     Public.  
  31634.  
  31635. Override policy
  31636.     Derived class cannot override.
  31637.     Derived class cannot call base class behavior.
  31638.  
  31639. Basic operation
  31640. Return reference to the global object.
  31641.  
  31642. Inputs
  31643. None
  31644.  
  31645. Outputs
  31646. Return
  31647.     Reference to the global object
  31648.  
  31649. Exceptions Signalled
  31650. None
  31651.  
  31652. Pre conditions
  31653. None.
  31654.  
  31655. Post conditions
  31656. None.
  31657.  
  31658. æKY ODSession::GetLinkManager
  31659. Session::GetLinkManager
  31660. Session->GetLinkManager
  31661. æT Class Method
  31662. æD ODLinkManager* GetLinkManager();
  31663.  
  31664. æC Protection
  31665.     Public.  Should not be called by parts.
  31666.  
  31667. Override policy
  31668.     Derived class cannot override.
  31669.     Derived class cannot call base class behavior, during derived class behavior.
  31670.  
  31671. Basic operation
  31672. Return reference to the global object.
  31673.  
  31674. Inputs
  31675. None.
  31676.  
  31677. Outputs
  31678. None.
  31679.  
  31680. Exceptions Signalled
  31681. None.
  31682.  
  31683. Pre conditions
  31684. None.
  31685.  
  31686. Post conditions
  31687. None.
  31688.  
  31689. æKY ODSession::GetMessageInterface
  31690. Session::GetMessageInterface
  31691. Session->GetMessageInterface
  31692. æT Class Method
  31693. æD virtual ODMessageInterface* GetMessageInterface();
  31694.  
  31695. æC Protection
  31696.     Public.  
  31697.  
  31698. Override policy
  31699.     Derived class cannot override.
  31700.     Derived class cannot call base class behavior, during derived class behavior.
  31701.  
  31702. Basic operation
  31703. Return reference to the global object.
  31704.  
  31705. Inputs
  31706. None
  31707.  
  31708. Outputs
  31709. Return
  31710.     Reference to the global object
  31711.  
  31712. Exceptions Signalled
  31713. None
  31714.  
  31715. Pre conditions
  31716. None.
  31717.  
  31718. Post conditions
  31719. None.
  31720.  
  31721. æKY ODSession::GetNameResolver
  31722. Session::GetNameResolver
  31723. Session->GetNameResolver
  31724. æT Class Method
  31725. æD ;
  31726.  
  31727. æC Protection
  31728.     Public.  
  31729.  
  31730. Override policy
  31731.     Derived class cannot override.
  31732.     Derived class cannot call base class behavior, during derived class behavior.
  31733.  
  31734. Basic operation
  31735. Return reference to the global object.
  31736.  
  31737. Inputs
  31738. None
  31739.  
  31740. Outputs
  31741. Return
  31742.     Reference to the global object
  31743.  
  31744. Exceptions Signalled
  31745. None
  31746.  
  31747. Pre conditions
  31748. None.
  31749.  
  31750. Post conditions
  31751. None.
  31752.  
  31753. æKY ODSession::GetNameSpaceManager
  31754. Session::GetNameSpaceManager
  31755. Session->GetNameSpaceManager
  31756. æT Class Method
  31757. æD ODNameSpaceManager* GetNameSpaceManager();
  31758.  
  31759. æC Protection
  31760.     Public.  
  31761.  
  31762. Override policy
  31763.     Derived class cannot override.
  31764.     Derived class cannot call base class behavior, during derived class behavior.
  31765.  
  31766. Basic operation
  31767. Return reference to the global object.
  31768.  
  31769. Inputs
  31770. None
  31771.  
  31772. Outputs
  31773. Return
  31774.     Reference to the global object
  31775.  
  31776. Exceptions Signalled
  31777. None
  31778.  
  31779. Pre conditions
  31780. None.
  31781.  
  31782. Post conditions
  31783. None.
  31784.  
  31785. æKY ODSession::GetSemanticInterface
  31786. Session::GetSemanticInterface
  31787. Session->GetSemanticInterface
  31788. æT Class Method
  31789. æD virtual ODSemanticInterface* GetSemanticInterface();
  31790.  
  31791. æC Protection
  31792.     Public.  
  31793.  
  31794. Override policy
  31795.     Derived class cannot override.
  31796.     Derived class cannot call base class behavior, during derived class behavior.
  31797.  
  31798. Basic operation
  31799. Returns cached reference to system's ODSemanticInterface. This is not
  31800. a unique object. Other OpenDoc object may own one or more instances of
  31801. ODSemanticInterface. This object can be used to install system level
  31802. event handlers and object accessors.
  31803.  
  31804. Inputs
  31805. None
  31806.  
  31807. Outputs
  31808. Return
  31809.     Reference to system's copy of the the ODSemanticInterface.
  31810.  
  31811. Exceptions Signalled
  31812. None
  31813.  
  31814. Pre conditions
  31815. None.
  31816.  
  31817. Post conditions
  31818. None.
  31819.  
  31820. æKY ODSession::GetShellSemtInterface
  31821. Session::GetShellSemtInterface
  31822. Session->GetShellSemtInterface
  31823. æT Class Method
  31824. æD ODSemanticInterface* GetShellSemtInterface();
  31825.  
  31826. æC Protection
  31827.     Public.  Only the shell should use this method.
  31828.  
  31829. Override policy
  31830.     Derived class cannot override.
  31831.     Derived class cannot call base class behavior, during derived class behavior.
  31832.  
  31833. Basic operation
  31834. Return a reference to an ODSemanticInterface object that the
  31835. application shell can use.
  31836.  
  31837. Inputs
  31838. None.
  31839.  
  31840. Outputs
  31841. Return
  31842.     a reference to the shell's ODSemanticInterface object
  31843.  
  31844. Exceptions Signalled
  31845. None
  31846.  
  31847. Pre conditions
  31848. None.
  31849.  
  31850. Post conditions
  31851. None.
  31852.  
  31853. æKY ODSession::GetStorageSystem
  31854. Session::GetStorageSystem
  31855. Session->GetStorageSystem
  31856. æT Class Method
  31857. æD virtual ODStorageSystem* GetStorageSystem();
  31858.  
  31859. æC Protection
  31860.     Public.  
  31861.  
  31862. Override policy
  31863.     Derived class cannot override.
  31864.     Derived class cannot call base class behavior, during derived class behavior.
  31865.  
  31866. Basic operation
  31867. Return reference to the global object.
  31868.  
  31869. Inputs
  31870. None
  31871.  
  31872. Outputs
  31873. Return
  31874.     Reference to the global object
  31875.  
  31876. Exceptions Signalled
  31877. None
  31878.  
  31879. Pre conditions
  31880. None.
  31881.  
  31882. Post conditions
  31883. None.
  31884.  
  31885. æKY ODSession::GetTranslation
  31886. Session::GetTranslation
  31887. Session->GetTranslation
  31888. æT Class Method
  31889. æD virtual ODTranslation* GetTranslation();
  31890.  
  31891. æC Protection
  31892.     Public.  
  31893.  
  31894. Override policy
  31895.     Derived class cannot override.
  31896.     Derived class cannot call base class behavior, during derived class behavior.
  31897.  
  31898. Basic operation
  31899. Return reference to the global object.
  31900.  
  31901. Inputs
  31902. None
  31903.  
  31904. Outputs
  31905. Return
  31906.     Reference to the global object
  31907.  
  31908. Exceptions Signalled
  31909. None
  31910.  
  31911. Pre conditions
  31912. None.
  31913.  
  31914. Post conditions
  31915. None.
  31916.  
  31917. æKY ODSession::GetType
  31918. Session::GetType
  31919. Session->GetType
  31920. æT Class Method
  31921. æD ODBoolean GetType(
  31922. ODTypeToken token,
  31923. ODType* type);
  31924.  
  31925. æC Protection
  31926.     Public.  
  31927.  
  31928. Override policy
  31929.     Derived class cannot override.
  31930.     Derived class cannot call base class behavior, during derived class behavior.
  31931.  
  31932. Basic operation
  31933. Get the ODType corresponding to the given ODTypeToken. If the token
  31934. does not exist, kODFalse is retuned. kODTrue is returned otherwise.
  31935.  
  31936. Inputs
  31937. token
  31938.     The ODTypeToken of interest.
  31939.  
  31940. Outputs
  31941. Return
  31942.     Whether the type for the given token exists in the token table.
  31943.  
  31944. Exceptions Signalled
  31945. None.
  31946.  
  31947. Pre conditions
  31948. None.
  31949.  
  31950. Post conditions
  31951. None.
  31952.  
  31953. æKY ODSession::GetUndo
  31954. Session::GetUndo
  31955. Session->GetUndo
  31956. æT Class Method
  31957. æD virtual ODUndo* GetUndo();
  31958.  
  31959. æC Protection
  31960.     Public.  
  31961.  
  31962. Override policy
  31963.     Derived class cannot override.
  31964.     Derived class cannot call base class behavior, during derived class behavior.
  31965.  
  31966. Basic operation
  31967. Return reference to the global object.
  31968.  
  31969. Inputs
  31970. None
  31971.  
  31972. Outputs
  31973. Return
  31974.     Reference to the global object
  31975.  
  31976. Exceptions Signalled
  31977. None
  31978.  
  31979. Pre conditions
  31980. None.
  31981.  
  31982. Post conditions
  31983. None.
  31984.  
  31985. æKY ODSession::GetUserName
  31986. Session::GetUserName
  31987. Session->GetUserName
  31988. æT Class Method
  31989. æD 
  31990.  
  31991. æC Protection
  31992.     Public.  
  31993.  
  31994. Override policy
  31995.     Derived class can override.
  31996.     Derived class can call base class behavior, during derived class behavior.
  31997.  
  31998. Basic operation
  31999. Returns the string representing the current user of the document.
  32000.  
  32001. Inputs
  32002. None.
  32003.  
  32004. Outputs
  32005. <return>
  32006.     <return>
  32007.  
  32008. Exceptions Signalled
  32009. None.
  32010.  
  32011. Pre conditions
  32012. None.
  32013.  
  32014. Post conditions
  32015. None.
  32016.  
  32017. æKY ODSession::GetWindowState
  32018. Session::GetWindowState
  32019. Session->GetWindowState
  32020. æT Class Method
  32021. æD virtual ODWindowState* GetWindowState();
  32022.  
  32023. æC Protection
  32024.     Public.  
  32025.  
  32026. Override policy
  32027.     Derived class cannot override.
  32028.     Derived class cannot call base class behavior, during derived class behavior.
  32029.  
  32030. Basic operation
  32031. Return reference to the global object.
  32032.  
  32033. Inputs
  32034. None
  32035.  
  32036. Outputs
  32037. Return
  32038.     Reference to the global object
  32039.  
  32040. Exceptions Signalled
  32041. None
  32042.  
  32043. Pre conditions
  32044. None.
  32045.  
  32046. Post conditions
  32047. None.
  32048.  
  32049. æKY ODSession::InitSession
  32050. Session::InitSession
  32051. Session->InitSession
  32052. æT Class Method
  32053. æD void InitSession();
  32054.  
  32055. æC Protection
  32056.     Private.  Should only be called by OpenODSession
  32057.  
  32058. Override policy
  32059.     Derived class cannot override.
  32060.     Derived class cannot call base class behavior, during derived class behavior.
  32061.  
  32062. Basic operation
  32063. Creates and initializes global objects.
  32064.  
  32065. Inputs
  32066. None
  32067.  
  32068. Outputs
  32069. None
  32070.  
  32071. Exceptions Signalled
  32072. Others…
  32073.     Subsystems.
  32074.  
  32075. Pre conditions
  32076. None.
  32077.  
  32078. Post conditions
  32079. The ODSession object will be fully initialized.
  32080.  
  32081. æKY ODSession::Purge
  32082. Session::Purge
  32083. Session->Purge
  32084. æT Class Method
  32085. æD ODSize Purge(
  32086. ODSize size);
  32087.  
  32088. æC Protection
  32089.     Public.  
  32090.  
  32091. Override policy
  32092.     Derived class cannot override.
  32093.     Derived class cannot call base class behavior, during derived class behavior.
  32094.  
  32095. Basic operation
  32096. Make memory available.
  32097.  
  32098. Inputs
  32099. size
  32100.     The size requested to be freed.
  32101.  
  32102. Outputs
  32103. Return
  32104.     The amount of memory that was able to be freed.
  32105.  
  32106. Exceptions Signalled
  32107. None
  32108.  
  32109. Pre conditions
  32110. None.
  32111.  
  32112. Post conditions
  32113. Some memory may be freed for use.
  32114.  
  32115. æKY ODSession::RemoveEntry
  32116. Session::RemoveEntry
  32117. Session->RemoveEntry
  32118. æT Class Method
  32119. æD void RemoveEntry(
  32120. ODType type);
  32121.  
  32122. æC Protection
  32123.     Public.  
  32124.  
  32125. Override policy
  32126.     Derived class cannot override.
  32127.     Derived class cannot call base class behavior, during derived class behavior.
  32128.  
  32129. Basic operation
  32130. Remove an ODType from the type/token table. Any unique ID previously
  32131. generated for this type can now be reused. No error is signalled if
  32132. the type was not previously tokenized.
  32133.  
  32134. Inputs
  32135. type
  32136.     The ODType to be removed from the type/token table.
  32137.  
  32138. Outputs
  32139. None.
  32140.  
  32141. Exceptions Signalled
  32142. None.
  32143.  
  32144. Pre conditions
  32145. None.
  32146.  
  32147. Post conditions
  32148. The type/token pair corresponding to this type will be removed from
  32149. the token table.
  32150.  
  32151. æKY ODSession::SetArbitrator
  32152. Session::SetArbitrator
  32153. Session->SetArbitrator
  32154. æT Class Method
  32155. æD void SetArbitrator(
  32156. ODArbitrator* object);
  32157.  
  32158. æC Protection
  32159.     Public.  
  32160.  
  32161. Override policy
  32162.     Derived class cannot override.
  32163.     Derived class cannot call base class behavior, during derived class behavior.
  32164.  
  32165. Basic operation
  32166. Set global object reference.
  32167.  
  32168. Inputs
  32169. object
  32170.     The object to replace the existing object.
  32171.  
  32172. Outputs
  32173. None.
  32174.  
  32175. Exceptions Signalled
  32176. None
  32177.  
  32178. Pre conditions
  32179. None.
  32180.  
  32181. Post conditions
  32182. None.
  32183.  
  32184. æKY ODSession::SetBinding
  32185. Session::SetBinding
  32186. Session->SetBinding
  32187. æT Class Method
  32188. æD void SetBinding(
  32189. ODBinding* object);
  32190.  
  32191. æC Protection
  32192.     Public.  
  32193.  
  32194. Override policy
  32195.     Derived class cannot override.
  32196.     Derived class cannot call base class behavior, during derived class behavior.
  32197.  
  32198. Basic operation
  32199. Set global object reference.
  32200.  
  32201. Inputs
  32202. object
  32203.     The object to replace the existing object.
  32204.  
  32205. Outputs
  32206. None.
  32207.  
  32208. Exceptions Signalled
  32209. None
  32210.  
  32211. Pre conditions
  32212. None.
  32213.  
  32214. Post conditions
  32215. None.
  32216.  
  32217. æKY ODSession::SetClipboard
  32218. Session::SetClipboard
  32219. Session->SetClipboard
  32220. æT Class Method
  32221. æD void SetClipboard(
  32222. ODClipboard* object);
  32223.  
  32224. æC Protection
  32225.     Public.  
  32226.  
  32227. Override policy
  32228.     Derived class cannot override.
  32229.     Derived class cannot call base class behavior.
  32230.  
  32231. Basic operation
  32232. Set global object reference.
  32233.  
  32234. Inputs
  32235. object
  32236.     The object to replace the existing object.
  32237.  
  32238. Outputs
  32239. None.
  32240.  
  32241. Exceptions Signalled
  32242. None
  32243.  
  32244. Pre conditions
  32245. None.
  32246.  
  32247. Post conditions
  32248. None.
  32249.  
  32250. æKY ODSession::SetDispatcher
  32251. Session::SetDispatcher
  32252. Session->SetDispatcher
  32253. æT Class Method
  32254. æD void SetDispatcher(
  32255. ODDispatcher* object);
  32256.  
  32257. æC Protection
  32258.     Public.  
  32259.  
  32260. Override policy
  32261.     Derived class cannot override.
  32262.     Derived class cannot call base class behavior, during derived class behavior.
  32263.  
  32264. Basic operation
  32265. Set global object reference.
  32266.  
  32267. Inputs
  32268. object
  32269.     The object to replace the existing object.
  32270.  
  32271. Outputs
  32272. None.
  32273.  
  32274. Exceptions Signalled
  32275. None
  32276.  
  32277. Pre conditions
  32278. None.
  32279.  
  32280. Post conditions
  32281. None.
  32282.  
  32283. æKY ODSession::SetDragAndDrop
  32284. Session::SetDragAndDrop
  32285. Session->SetDragAndDrop
  32286. æT Class Method
  32287. æD void SetDragAndDrop(
  32288. ODDragAndDrop* object);
  32289.  
  32290. æC Protection
  32291.     Public.  
  32292.  
  32293. Override policy
  32294.     Derived class cannot override.
  32295.     Derived class cannot call base class behavior.
  32296.  
  32297. Basic operation
  32298. Set global object reference.
  32299.  
  32300. Inputs
  32301. object
  32302.     The object to replace the existing object.
  32303.  
  32304. Outputs
  32305. None.
  32306.  
  32307. Exceptions Signalled
  32308. None
  32309.  
  32310. Pre conditions
  32311. None.
  32312.  
  32313. Post conditions
  32314. None.
  32315.  
  32316. æKY ODSession::SetInfo
  32317. Session::SetInfo
  32318. Session->SetInfo
  32319. æT Class Method
  32320. æD void SetInfo(
  32321. ODInfo* object);
  32322.  
  32323. æC Protection
  32324.     Public.  
  32325.  
  32326. Override policy
  32327.     Derived class cannot override.
  32328.     Derived class cannot call base class behavior.
  32329.  
  32330. Basic operation
  32331. Set global object reference.
  32332.  
  32333. Inputs
  32334. object
  32335.     The object to replace the existing object.
  32336.  
  32337. Outputs
  32338. None.
  32339.  
  32340. Exceptions Signalled
  32341. None
  32342.  
  32343. Pre conditions
  32344. None.
  32345.  
  32346. Post conditions
  32347. None.
  32348.  
  32349. æKY ODSession::SetLinkManager
  32350. Session::SetLinkManager
  32351. Session->SetLinkManager
  32352. æT Class Method
  32353. æD void SetLinkManager(
  32354. ODLinkManager* object);
  32355.  
  32356. æC Protection
  32357.     Public.  
  32358.  
  32359. Override policy
  32360.     Derived class cannot override.
  32361.     Derived class cannot call base class behavior.
  32362.  
  32363. Basic operation
  32364. Set global object reference.
  32365.  
  32366. Inputs
  32367. object
  32368.     The object to replace the existing object.
  32369.  
  32370. Outputs
  32371. None.
  32372.  
  32373. Exceptions Signalled
  32374. None
  32375.  
  32376. Pre conditions
  32377. None.
  32378.  
  32379. Post conditions
  32380. None.
  32381.  
  32382. æKY ODSession::SetMessageInterface
  32383. Session::SetMessageInterface
  32384. Session->SetMessageInterface
  32385. æT Class Method
  32386. æD void SetMessageInterface(
  32387. ODMessageInterface* object);
  32388.  
  32389. æC Protection
  32390.     Public.  
  32391.  
  32392. Override policy
  32393.     Derived class cannot override.
  32394.     Derived class cannot call base class behavior.
  32395.  
  32396. Basic operation
  32397. Set global object reference.
  32398.  
  32399. Inputs
  32400. object
  32401.     The object to replace the existing object.
  32402.  
  32403. Outputs
  32404. None.
  32405.  
  32406. Exceptions Signalled
  32407. None
  32408.  
  32409. Pre conditions
  32410. None.
  32411.  
  32412. Post conditions
  32413. None.
  32414.  
  32415. æKY ODSession::SetNameResolver
  32416. Session::SetNameResolver
  32417. Session->SetNameResolver
  32418. æT Class Method
  32419. æD void SetNameResolver(
  32420. ODNameResolver* object);
  32421.  
  32422. æC Protection
  32423.     Public.  
  32424.  
  32425. Override policy
  32426.     Derived class cannot override.
  32427.     Derived class cannot call base class behavior.
  32428.  
  32429. Basic operation
  32430. Set global object reference.
  32431.  
  32432. Inputs
  32433. object
  32434.     The object to replace the existing object.
  32435.  
  32436. Outputs
  32437. None.
  32438.  
  32439. Exceptions Signalled
  32440. None
  32441.  
  32442. Pre conditions
  32443. None.
  32444.  
  32445. Post conditions
  32446. None.
  32447.  
  32448. æKY ODSession::SetNameSpaceManager
  32449. Session::SetNameSpaceManager
  32450. Session->SetNameSpaceManager
  32451. æT Class Method
  32452. æD void SetNameSpaceManager(
  32453. ODNameSpaceManager* object);
  32454.  
  32455. æC Protection
  32456.     Public.  
  32457.  
  32458. Override policy
  32459.     Derived class cannot override.
  32460.     Derived class cannot call base class behavior.
  32461.  
  32462. Basic operation
  32463. Set global object reference.
  32464.  
  32465. Inputs
  32466. object
  32467.     The object to replace the existing object.
  32468.  
  32469. Outputs
  32470. None.
  32471.  
  32472. Exceptions Signalled
  32473. None
  32474.  
  32475. Pre conditions
  32476. None.
  32477.  
  32478. Post conditions
  32479. None.
  32480.  
  32481. æKY ODSession::SetShellSemtInterface
  32482. Session::SetShellSemtInterface
  32483. Session->SetShellSemtInterface
  32484. æT Class Method
  32485. æD void SetSemanticInterface(
  32486. ODSemanticInterface* object);
  32487.  
  32488. æC Protection
  32489.     Public.  
  32490.  
  32491. Override policy
  32492.     Derived class cannot override.
  32493.     Derived class cannot call base class behavior.
  32494.  
  32495. Basic operation
  32496. Set global object reference.
  32497.  
  32498. Inputs
  32499. object
  32500.     The object to replace the existing object.
  32501.  
  32502. Outputs
  32503. None.
  32504.  
  32505. Exceptions Signalled
  32506. None
  32507.  
  32508. Pre conditions
  32509. None.
  32510.  
  32511. Post conditions
  32512. None.
  32513.  
  32514. æKY ODSession::SetStorageSystem
  32515. Session::SetStorageSystem
  32516. Session->SetStorageSystem
  32517. æT Class Method
  32518. æD void SetStorageSystem(
  32519. ODStorageSystem* object);
  32520.  
  32521. æC Protection
  32522.     Public.  
  32523.  
  32524. Override policy
  32525.     Derived class cannot override.
  32526.     Derived class cannot call base class behavior.
  32527.  
  32528. Basic operation
  32529. Set global object reference.
  32530.  
  32531. Inputs
  32532. object
  32533.     The object to replace the existing object.
  32534.  
  32535. Outputs
  32536. None.
  32537.  
  32538. Exceptions Signalled
  32539. None
  32540.  
  32541. Pre conditions
  32542. None.
  32543.  
  32544. Post conditions
  32545. None.
  32546.  
  32547. æKY ODSession::SetTranslation
  32548. Session::SetTranslation
  32549. Session->SetTranslation
  32550. æT Class Method
  32551. æD void SetTranslation(
  32552. ODTranslation* object);
  32553.  
  32554. æC Protection
  32555.     Public.  
  32556.  
  32557. Override policy
  32558.     Derived class cannot override.
  32559.     Derived class cannot call base class behavior.
  32560.  
  32561. Basic operation
  32562. Set global object reference.
  32563.  
  32564. Inputs
  32565. object
  32566.     The object to replace the existing object.
  32567.  
  32568. Outputs
  32569. None.
  32570.  
  32571. Exceptions Signalled
  32572. None
  32573.  
  32574. Pre conditions
  32575. None.
  32576.  
  32577. Post conditions
  32578. None.
  32579.  
  32580. æKY ODSession::SetUndo
  32581. Session::SetUndo
  32582. Session->SetUndo
  32583. æT Class Method
  32584. æD void SetUndo(
  32585. ODUndo* object);
  32586.  
  32587. æC Protection
  32588.     Public.  
  32589.  
  32590. Override policy
  32591.     Derived class cannot override.
  32592.     Derived class cannot call base class behavior.
  32593.  
  32594. Basic operation
  32595. Set global object reference.
  32596.  
  32597. Inputs
  32598. object
  32599.     The object to replace the existing object.
  32600.  
  32601. Outputs
  32602. None.
  32603.  
  32604. Exceptions Signalled
  32605. None
  32606.  
  32607. Pre conditions
  32608. None.
  32609.  
  32610. Post conditions
  32611. None.
  32612.  
  32613. æKY ODSession::SetWindowState
  32614. Session::SetWindowState
  32615. Session->SetWindowState
  32616. æT Class Method
  32617. æD void SetWindowState(
  32618. ODWindowState* object);
  32619.  
  32620. æC Protection
  32621.     Public.  
  32622.  
  32623. Override policy
  32624.     Derived class cannot override.
  32625.     Derived class cannot call base class behavior.
  32626.  
  32627. Basic operation
  32628. Set global object reference.
  32629.  
  32630. Inputs
  32631. object
  32632.     The object to replace the existing object.
  32633.  
  32634. Outputs
  32635. None.
  32636.  
  32637. Exceptions Signalled
  32638. None
  32639.  
  32640. Pre conditions
  32641. None.
  32642.  
  32643. Post conditions
  32644. None.
  32645.  
  32646. æKY ODSession::Tokenize
  32647. Session::Tokenize
  32648. Session->Tokenize
  32649. æT Class Method
  32650. æD ODTypeToken Tokenize(
  32651. ODType type);
  32652.  
  32653. æC Protection
  32654.     Public.  
  32655.  
  32656. Override policy
  32657.     Derived class cannot override.
  32658.     Derived class cannot call base class behavior, during derived class behavior.
  32659.  
  32660. Basic operation
  32661. Returns a unique ODTypeToken for  a given ODType. Original token is
  32662. returned if type has been previously tokenized.
  32663.  
  32664. Inputs
  32665. type
  32666.     The ODType to register
  32667.  
  32668. Outputs
  32669. Return
  32670.     The unique token for this type. kODNullTypeToken is returned if an
  32671. error occurs.
  32672.  
  32673. Exceptions Signalled
  32674. kODErrOutOfMemory
  32675.     out of memory
  32676.  
  32677. Pre conditions
  32678. None.
  32679.  
  32680. Post conditions
  32681. A new unique token is generated if the type has not yet been
  32682. tokenized.
  32683.  
  32684. æKY ODSession::UniqueChangeID
  32685. Session::UniqueChangeID
  32686. Session->UniqueChangeID
  32687. æT Class Method
  32688. æD ODChangeID UniqueChangeID();
  32689.  
  32690. æC Protection
  32691.     Public.  
  32692.  
  32693. Override policy
  32694.     Derived class cannot override.
  32695.     Derived class cannot call base class behavior, during derived class behavior.
  32696.  
  32697. Basic operation
  32698. Return a change identification unique to this session and unlikely to
  32699. be repeated on the network.
  32700.  
  32701. Inputs
  32702. None.
  32703.  
  32704. Outputs
  32705. <result>
  32706.     A unique change identification.
  32707.  
  32708. Exceptions Signalled
  32709. None.
  32710.  
  32711. Pre conditions
  32712. None.
  32713.  
  32714. Post conditions
  32715. Result is an identifier with a high likelyhood of uniqueness.
  32716.  
  32717. æKY ODSession::fArbitrator
  32718. Session::fArbitrator
  32719. æT Class Field
  32720. æD ODArbitrator* fArbitrator;
  32721. æC Persistent form
  32722. None.
  32723.  
  32724. æKY ODSession::fClipboard
  32725. Session::fClipboard
  32726. æT Class Field
  32727. æD ODClipboard* fClipboard;
  32728. æC Persistent form
  32729. None.
  32730.  
  32731. æKY ODSession::fDispatcher
  32732. Session::fDispatcher
  32733. æT Class Field
  32734. æD ODDispatcher* fDispatcher;
  32735. æC Persistent form
  32736. None.
  32737.  
  32738. æKY ODSession::fDragAndDrop
  32739. Session::fDragAndDrop
  32740. æT Class Field
  32741. æD ODDragAndDrop* fDragAndDrop;
  32742. æC Persistent form
  32743. None.
  32744.  
  32745. æKY ODSession::fLinkManager
  32746. Session::fLinkManager
  32747. æT Class Field
  32748. æD ODLinkManager* fLinkManager;
  32749. æC 
  32750. æKY ODSession::fMessageInterface
  32751. Session::fMessageInterface
  32752. æT Class Field
  32753. æD ODMessageInterface* fMessageInterface;
  32754. æC Persistent form
  32755. None.
  32756.  
  32757. æKY ODSession::fNameResolver
  32758. Session::fNameResolver
  32759. æT Class Field
  32760. æD ODNameResolver* fNameResolver;
  32761. æC Persistent form
  32762. None.
  32763.  
  32764. æKY ODSession::fSemanticInterface
  32765. Session::fSemanticInterface
  32766. æT Class Field
  32767. æD ODSemanticInterface* fSemanticInterface;
  32768. æC Persistent form
  32769. None.
  32770.  
  32771. æKY ODSession::fShellSemtInterface
  32772. Session::fShellSemtInterface
  32773. æT Class Field
  32774. æD ODSemanticInterface* fShellSemtInterface
  32775. æC Persistent form
  32776. None.
  32777.  
  32778. æKY ODSession::fStorage
  32779. Session::fStorage
  32780. æT Class Field
  32781. æD ODStorage* fStorage;
  32782. æC Persistent form
  32783. None.
  32784.  
  32785. æKY ODSession::fSymbols
  32786. Session::fSymbols
  32787. æT Class Field
  32788. æD ODSymbols* fSymbols;
  32789. æC Persistent form
  32790. None.
  32791.  
  32792. æKY ODSession::fTokenTable
  32793. Session::fTokenTable
  32794. æT Class Field
  32795. æD ODTokenTable* fTokenTable;
  32796. æC Persistent form
  32797. None.
  32798.  
  32799. æKY ODSession::fTranslation
  32800. Session::fTranslation
  32801. æT Class Field
  32802. æD ODTranslation* fTranslation;
  32803. æC Persistent form
  32804. None.
  32805.  
  32806. æKY ODSession::fUndo
  32807. Session::fUndo
  32808. æT Class Field
  32809. æD ODUndo* fUndo;
  32810. æC Persistent form
  32811. None.
  32812.  
  32813. æKY ODSession::fWindowState
  32814. Session::fWindowState
  32815. æT Class Field
  32816. æD ODWindowState* fWindowState;
  32817. æC 
  32818.  
  32819. æKY ODSettingsExtensionHelp
  32820. ODSettingsExtension
  32821. SettingsExtension
  32822. æKL ODSettingsExtension::InitSettingsExtension
  32823. ODSettingsExtension::ShowSettings
  32824. æC Basic Class Documentation
  32825. The part info dialog only supports the standard properties which all
  32826. OpenDoc parts have.  In order to allow the user to access editor
  32827. specific properties on a part, part editors can support and implement
  32828. an ODSettingsExtension which will cause a (Settings…) button to show
  32829. up in the lower left hand corner of the Part Info dialog.  When the
  32830. user clicks this button, OpenDoc calls ShowSettings on the part's
  32831. ODSettingsExtension.  This gives the part editor a chance to put up an
  32832. additional dialog to allow editing of part specific settings.
  32833. Superclass: ODExtension
  32834. It is intended that Part Editor developers subclass this class.
  32835.  
  32836. Theory of Operation
  32837. In the implementation of the ShowPartFrameInfo method of the Info
  32838. object, it checks to see if the part which the info is being shown
  32839. about supports the ODSettingsExtension.  If it does, a (Settings…) in
  32840. the lower left corner of the dialog is made visible.  If the user
  32841. clicks this button, the code gets the ODSettingsExtension of the part
  32842. editor and tells it to ShowSettings.
  32843.  
  32844. Invariants Maintained by Class
  32845.  
  32846. æKY ODSettingsExtension::InitSettingsExtension
  32847. SettingsExtension::InitSettingsExtension
  32848. SettingsExtension->InitSettingsExtension
  32849. æT Class Method
  32850. æD void InitSettingsExtension(
  32851. ODPart* base);
  32852.  
  32853. æC Protection
  32854.     Public.  
  32855.  
  32856. Override policy
  32857.     Derived class must override.
  32858.     Derived class must call base class behavior, before derived class behavior.
  32859.  
  32860. Basic operation
  32861. This method calls its superclasses' InitExtension method and
  32862. initializes the settingsExtension object.
  32863.  
  32864. Inputs
  32865. base
  32866.     The base object for this extension.
  32867.  
  32868. Outputs
  32869. None.
  32870.  
  32871. Exceptions Signalled
  32872. None.
  32873.  
  32874. Pre conditions
  32875. The settingsextension object is not initialized
  32876.  
  32877. Post conditions
  32878. The settingsextension object is initialized and is ready to execute
  32879. other methods.
  32880.  
  32881. æKY ODSettingsExtension::ShowSettings
  32882. SettingsExtension::ShowSettings
  32883. SettingsExtension->ShowSettings
  32884. æT Class Method
  32885. æD void ShowSettings(
  32886. ODFacet* facet);
  32887.  
  32888. æC Protection
  32889.     Public.  
  32890.  
  32891. Override policy
  32892.     Derived class must override.
  32893.     Derived class cannot call base class behavior, during derived class behavior.
  32894.  
  32895. Basic operation
  32896. This is an abstract method which must be implemented by a subclass of
  32897. ODSettingsExtension.  It should bring up a modal dialog which permits
  32898. the user to edit editor specific properties on this part.  The
  32899. Settings dialog MUST be modal and displayed using ModalDialog() on the
  32900. Macintosh.
  32901.  
  32902. Inputs
  32903. facet
  32904.     The facet which was passed into the ShowPartFrameInfo method of the
  32905. Info object which is now calling this method.  This is the facet which
  32906. indicates which monitor to display the settings dialog, and the
  32907. facet's frame and it's part indicate which part's properties should be
  32908. displayed and edited.
  32909.  
  32910. Outputs
  32911. None.
  32912.  
  32913. Exceptions Signalled
  32914. None.
  32915.  
  32916. Pre conditions
  32917. None.
  32918.  
  32919. Post conditions
  32920. The settingsExtension object has had a chance to let the user edit the
  32921. editor specific properties on this part.
  32922.  
  32923.  
  32924. æKY ODShapeHelp
  32925. ODShape
  32926. Shape
  32927. æKL ODShape::ContainsPoint
  32928. ODShape::Copy
  32929. ODShape::CopyFrom
  32930. ODShape::CopyPolygon
  32931. ODShape::GetBoundingBox
  32932. ODShape::GetGeometryMode
  32933. ODShape::GetGXShape
  32934. ODShape::GetPlatformShape
  32935. ODShape::GetQDRegion
  32936. ODShape::HasGeometry
  32937. ODShape::InitShape
  32938. ODShape::Intersect
  32939. ODShape::InverseTransform
  32940. ODShape::IsEmpty
  32941. ODShape::IsRectangular
  32942. ODShape::IsSameAs
  32943. ODShape::NewShape
  32944. ODShape::Outset
  32945. ODShape::ReadShape
  32946. ODShape::Reset
  32947. ODShape::SetGeometryMode
  32948. ODShape::SetGXShape
  32949. ODShape::SetPlatformShape
  32950. ODShape::SetPolygon
  32951. ODShape::SetQDRegion
  32952. ODShape::SetRectangle
  32953. ODShape::somInit
  32954. ODShape::somUninit
  32955. ODShape::Subtract
  32956. ODShape::Transform
  32957. ODShape::Union
  32958. ODShape::WriteShape
  32959. ODShape::fMode
  32960. ODShape::fShape
  32961. æC Basic Class Documentation
  32962. Base class: ODObject.
  32963. This class represents a geometric shape or area of a document. It is
  32964. mostly used to define an ODFrame's and ODFacet's various shapes for
  32965. frame negotiation, clipping, hit testing, etc. More background
  32966. information can be found in the ODFrame and ODFacet class
  32967. documentation.
  32968.  
  32969. Theory of Operation
  32970. An ODShape starts out life empty. Public methods are defined to get
  32971. and set the shape data in various formats, both universal (rectangle,
  32972. polygon) and platform specific (QuickDraw Region, QuickDraw GX shape,
  32973. …) The most universal representation of a shape is a polygon, and this
  32974. is how it is stored in a document. However, some platform-specific
  32975. shape types (like Regions) — which are needed for ephemeral shapes
  32976. such as clipping regions that are closely tied to the native windowing
  32977. system — may not be representable as polygons. A shape has a Geometry
  32978. Mode which governs whether it is required to maintain a polygonal
  32979. representation, or whether this representation can be abandoned for
  32980. the sake of efficiency.
  32981.  
  32982. Invariants Maintained by Class
  32983. An ODShape is an “envelope” that points to a private ODRealShape
  32984. object. Most of the calls to ODShape are delegated to the ODRealShape.
  32985. There are various subclasses of the abstract ODRealShape class; these
  32986. represent rectangles, polygons, QuickDraw Regions, and QuickDraw GX
  32987. shapes. During an ODShape's life it may use various different
  32988. ODRealShapes to represent its data, depending on the particular shape.
  32989. The client does not need to worry about this. 
  32990. æKY ODShape::ContainsPoint
  32991. Shape::ContainsPoint
  32992. Shape->ContainsPoint
  32993. æT Class Method
  32994. æD ODBoolean ContainsPoint(
  32995. ODPoint point);
  32996.  
  32997. æC Protection
  32998.     Public.  No restrictions.
  32999.  
  33000. Override policy
  33001.     Derived class can override.
  33002.     Derived class can call base class behavior.
  33003.  
  33004. Basic operation
  33005. Determines whether the shape contains a point.
  33006.  
  33007. Inputs
  33008. point
  33009.     ODPoint given in this shape's coordinate space.
  33010.  
  33011. Outputs
  33012. <return>
  33013.     kODTrue if aPoint is in this shape, kODFalse otherwise.
  33014.  
  33015. Exceptions Signalled
  33016. None.
  33017.  
  33018. Pre conditions
  33019. None.
  33020.  
  33021. Post conditions
  33022. None.
  33023.  
  33024. æKY ODShape::Copy
  33025. Shape::Copy
  33026. Shape->Copy
  33027. æT Class Method
  33028. æD ODShape* Copy();
  33029.  
  33030. æC Protection
  33031.     Public.  
  33032.  
  33033. Override policy
  33034.     Derived class can override.
  33035.     Derived class can call base class behavior.
  33036.  
  33037. Basic operation
  33038. Returns a copy of this shape. This is a factory method for shapes: do
  33039. not call "new ODShape" yourself. The new shape is a deep copy: it does
  33040. not share any data with the original and both can be modified
  33041. independently.
  33042.  
  33043. Inputs
  33044. None.
  33045.  
  33046. Outputs
  33047. <return>
  33048.     A new shape identical to the receiver
  33049.  
  33050. Exceptions Signalled
  33051. kODErrOutOfMemory
  33052.  
  33053. Pre conditions
  33054. None.
  33055.  
  33056. Post conditions
  33057. None.
  33058.  
  33059. æKY ODShape::CopyFrom
  33060. Shape::CopyFrom
  33061. Shape->CopyFrom
  33062. æT Class Method
  33063. æD void CopyFrom(
  33064. ODShape* sourceShape);
  33065.  
  33066. æC Protection
  33067.     Public.  No restrictions.
  33068.  
  33069. Override policy
  33070.     Derived class can override.
  33071.     Derived class can call base class behavior.
  33072.  
  33073. Basic operation
  33074. Makes this shape an exact copy of sourceShape. This is a deep copy:
  33075. the shape does not share any data with sourceShape and both can be
  33076. modified independently.
  33077.  
  33078. Inputs
  33079. sourceShape
  33080.     Pointer to another ODShape object. Caller's storage responsability.
  33081.  
  33082. Outputs
  33083. None.
  33084.  
  33085. Exceptions Signalled
  33086. kODErrOutOfMemory
  33087.     Not enough memory to copy shape data.
  33088.  
  33089. Pre conditions
  33090. None.
  33091.  
  33092. Post conditions
  33093. Shape is identical to sourceShape.
  33094.  
  33095. æKY ODShape::CopyPolygon
  33096. Shape::CopyPolygon
  33097. Shape->CopyPolygon
  33098. æT Class Method
  33099. æD ODPolygon CopyPolygon();
  33100.  
  33101. æC Protection
  33102.     Public.  
  33103.  
  33104. Override policy
  33105.     Derived class can override.
  33106.     Derived class can call base class behavior.
  33107.  
  33108. Basic operation
  33109. Returns a new ODPolygon describing this shape. Caller is responsible
  33110. for deleting this polygon afterward.
  33111. Not all shapes may have a polygonal representation so this call may
  33112. fail with a kODErrNoGeometry exception. You can call HasGeometry first
  33113. to check.
  33114. Some shapes (i.e. curves) may be only approximated by a polygon. Don't
  33115. expect it to be 100% exact.
  33116.  
  33117. Inputs
  33118. None.
  33119.  
  33120. Outputs
  33121. <return>
  33122.     Pointer to a new ODPolygon.
  33123.  
  33124. Exceptions Signalled
  33125. kODErrOutOfMemory
  33126. kODErrNoGeometry
  33127.     Shape cannot be described as a polygon.
  33128.  
  33129. Pre conditions
  33130. Shape has geometry.
  33131.  
  33132. Post conditions
  33133. None.
  33134.  
  33135. æKY ODShape::GetBoundingBox
  33136. Shape::GetBoundingBox
  33137. Shape->GetBoundingBox
  33138. æT Class Method
  33139. æD void GetBoundingBox(
  33140. ODRect *bounds );
  33141.  
  33142. æC Protection
  33143.     Public.  
  33144.  
  33145. Override policy
  33146.     Derived class can override.
  33147.     Derived class can call base class behavior.
  33148.  
  33149. Basic operation
  33150. Returns the bounding box of this shape (the smallest rectangle that
  33151. contains this shape.) After the call the ODRect pointed to by bounds
  33152. will be set to the bounding box.
  33153.  
  33154. Inputs
  33155. bounds
  33156.     Pointer to the ODRect into which to copy the bounding box.
  33157.  
  33158. Outputs
  33159. None.
  33160.  
  33161. Exceptions Signalled
  33162. None.
  33163.  
  33164. Pre conditions
  33165. None.
  33166.  
  33167. Post conditions
  33168. *bounds is set to the shape's bounding box.
  33169.  
  33170. æKY ODShape::GetGeometryMode
  33171. Shape::GetGeometryMode
  33172. Shape->GetGeometryMode
  33173. æT Class Method
  33174. æD ODGeometryMode GetGeometryMode();
  33175.  
  33176. æC Protection
  33177.     Public.  
  33178.  
  33179. Override policy
  33180.     Derived class can override.
  33181.     Derived class can call base class behavior.
  33182.  
  33183. Basic operation
  33184. Returns the current geometry mode of this shape. See the discussion of
  33185. the fMode field.
  33186.  
  33187. Inputs
  33188. None.
  33189.  
  33190. Outputs
  33191. <return>
  33192.     Shape's geometry mode.
  33193.  
  33194. Exceptions Signalled
  33195. None.
  33196.  
  33197. Pre conditions
  33198. None.
  33199.  
  33200. Post conditions
  33201. None.
  33202.  
  33203. æKY ODShape::GetGXShape
  33204. Shape::GetGXShape
  33205. Shape->GetGXShape
  33206. æT Class Method
  33207. æD inline gxShape GetGXShape ();
  33208.  
  33209. æC Protection
  33210.     Public.  
  33211.  
  33212. Override policy
  33213.     Derived class cannot override.
  33214.     Derived class cannot call base class behavior.
  33215.  
  33216. Basic operation
  33217. This is a Mac-specific inline method that returns a QuickDraw GX shape
  33218. equivalent to the shape. The caller should not modify this shape, but
  33219. should dispose it when finished with it.
  33220. This call is identical to: 
  33221. (gxShape)this->GetPlatformShape(kODQuickDrawGX);
  33222.  
  33223. Inputs
  33224. None.
  33225.  
  33226. Outputs
  33227. <return>
  33228.     Reference to a GX shape. Cannot be modified but should be disposed by
  33229. caller.
  33230.  
  33231. Exceptions Signalled
  33232. None.
  33233.  
  33234. Pre conditions
  33235. QuickDraw GX is installed.
  33236.  
  33237. Post conditions
  33238. None.
  33239.  
  33240. æKY ODShape::GetPlatformShape
  33241. Shape::GetPlatformShape
  33242. Shape->GetPlatformShape
  33243. æT Class Method
  33244. æD ODPlatformShape GetPlatformShape(
  33245. ODGraphicsSystem
  33246. );
  33247.  
  33248. æC Protection
  33249.     Public.  No restrictions.
  33250.  
  33251. Override policy
  33252.     Derived class can override.
  33253.     Derived class can call base class behavior.
  33254.  
  33255. Basic operation
  33256. Returns the data of this shape object, for a particular graphics
  33257. system. The format of the data is graphics system dependent. Whether
  33258. or not this data is a copy depends on the implementation and the
  33259. graphics system.
  33260. For kODQuickDraw, the data is a RgnHandle, which belongs to the shape
  33261. and should not be modified or disposed by the caller.
  33262. For kODQuickDrawGX, it's a gxShape. The caller should not modify the
  33263. shape, but should dispose it (i.e. lower its ref-count) when done.
  33264.  
  33265. Inputs
  33266. ODGraphicsSystem
  33267.     The graphics system of the data you want to get.
  33268.  
  33269. Outputs
  33270. <return>
  33271.     Graphics-system-specific shape data (see method description)
  33272.  
  33273. Exceptions Signalled
  33274. kODErrInvalidGraphicsSystem
  33275.     Graphics system unknown or not installed.
  33276.  
  33277. Pre conditions
  33278. None.
  33279.  
  33280. Post conditions
  33281. None.
  33282.  
  33283. æKY ODShape::GetQDRegion
  33284. Shape::GetQDRegion
  33285. Shape->GetQDRegion
  33286. æT Class Method
  33287. æD inline RgnHandle GetQDRegion ();
  33288.  
  33289. æC Protection
  33290.     Public.  
  33291.  
  33292. Override policy
  33293.     Derived class cannot override.
  33294.     Derived class cannot call base class behavior.
  33295.  
  33296. Basic operation
  33297. This is a Mac-specific inline method that returns a Region equivalent
  33298. to the shape. The region is owned by the shape and the caller must not
  33299. modify or dispose it.
  33300. This call is identical to: 
  33301. (RgnHandle)this->GetPlatformShape(kODQuickDraw);
  33302.  
  33303. Inputs
  33304. None.
  33305.  
  33306. Outputs
  33307. <return>
  33308.     QD Region representing the shape
  33309.  
  33310. Exceptions Signalled
  33311. None.
  33312.  
  33313. Pre conditions
  33314. None.
  33315.  
  33316. Post conditions
  33317. None.
  33318.  
  33319. æKY ODShape::HasGeometry
  33320. Shape::HasGeometry
  33321. Shape->HasGeometry
  33322. æT Class Method
  33323. æD ODBoolean HasGeometry();
  33324.  
  33325. æC Protection
  33326.     Public.  
  33327.  
  33328. Override policy
  33329.     Derived class can override.
  33330.     Derived class can call base class behavior.
  33331.  
  33332. Basic operation
  33333. Returns true if the shape's geometric information (i.e. its polygonal
  33334. shape) is accessible. A call to CopyPolygon is valid only if this is
  33335. true. What makes a shape non-geometric is implementation specific. See
  33336. SetGeometryMode.
  33337.  
  33338. Inputs
  33339. None.
  33340.  
  33341. Outputs
  33342. <result>
  33343.     kODTrue if the shape can be represented as a polygon, else kODFalse.
  33344.  
  33345. Exceptions Signalled
  33346. None.
  33347.  
  33348. Pre conditions
  33349. None.
  33350.  
  33351. Post conditions
  33352. None.
  33353.  
  33354. æKY ODShape::InitShape
  33355. Shape::InitShape
  33356. Shape->InitShape
  33357. æT Class Method
  33358. æD void InitShape();
  33359.  
  33360. æC Protection
  33361.     Public.  
  33362.  
  33363. Override policy
  33364.     Derived class can override.
  33365.     Derived class can call base class behavior.
  33366.  
  33367. Basic operation
  33368. InitShape initializes a freshly created ODShape object. It sets it to
  33369. an empty shape, i.e. one with zero area. This method is called by all
  33370. factory methods that create shapes; clients should not need to use it.
  33371.  
  33372. Inputs
  33373. None.
  33374.  
  33375. Outputs
  33376. None.
  33377.  
  33378. Exceptions Signalled
  33379. None.
  33380.  
  33381. Pre conditions
  33382. Shape has been created (by “new ODShape”) but no other methods have
  33383. been called on it.
  33384.  
  33385. Post conditions
  33386. Shape is initialized and empty.
  33387.  
  33388. æKY ODShape::Intersect
  33389. Shape::Intersect
  33390. Shape->Intersect
  33391. æT Class Method
  33392. æD void Intersect(
  33393. ODShape* sectShape);
  33394.  
  33395. æC Protection
  33396.     Public.  No restrictions.
  33397.  
  33398. Override policy
  33399.     Derived class can override.
  33400.     Derived class can call base class behavior.
  33401.  
  33402. Basic operation
  33403. Intersects this shape with sectShape. This shape becomes the
  33404. intersection; fShape is unchanged.
  33405.  
  33406. Inputs
  33407. sectShape
  33408.     another ODShape object to intersect the receiver with.
  33409.  
  33410. Outputs
  33411. None.
  33412.  
  33413. Exceptions Signalled
  33414. kODErrOutOfMemory
  33415.     not enough memory to intersect shapes.
  33416. kODErrNoGeometry
  33417.     Geometry mode is kODNeedsGeometry, but diffShape has no geometry.
  33418.  
  33419. Pre conditions
  33420. None.
  33421.  
  33422. Post conditions
  33423. This shape becomes the intersection of sectShape and its previous
  33424. shape.
  33425. sectShape is unchanged.
  33426.  
  33427. æKY ODShape::InverseTransform
  33428. Shape::InverseTransform
  33429. Shape->InverseTransform
  33430. æT Class Method
  33431. æD ODShape* InverseTransform(
  33432. ODTransform* transform);
  33433.  
  33434. æC Protection
  33435.     Public.  
  33436.  
  33437. Override policy
  33438.     Derived class can override.
  33439.     Derived class can call base class behavior.
  33440.  
  33441. Basic operation
  33442. Runs this shape through the opposite of the given transform. This is
  33443. the inverse operation of ODShape::Transform. Shapes with no geometry
  33444. may not be transformable except by simple offsets.
  33445.  
  33446. Inputs
  33447. transform
  33448.     ODTransform to apply the inverse of.
  33449.  
  33450. Outputs
  33451. <result>
  33452.     The receiver.
  33453.  
  33454. Exceptions Signalled
  33455. kODErrNoShapeGeometry
  33456.     Shape does not have enough geometric information to be transformed in
  33457. this way.
  33458.  
  33459. Pre conditions
  33460. Transform is non-singular (i.e. invertible)
  33461.  
  33462. Post conditions
  33463. Shape is transformed.
  33464.  
  33465. æKY ODShape::IsEmpty
  33466. Shape::IsEmpty
  33467. Shape->IsEmpty
  33468. æT Class Method
  33469. æD ODBoolean IsEmpty();
  33470.  
  33471. æC Protection
  33472.     Public.  No restrictions
  33473.  
  33474. Override policy
  33475.     Derived class can override.
  33476.     Derived class can call base class behavior.
  33477.  
  33478. Basic operation
  33479. Returns true if the shape is empty (has no area).
  33480.  
  33481. Inputs
  33482. None.
  33483.  
  33484. Outputs
  33485. <result>
  33486.     kODTrue if the shape is empty, otherwise kODFalse.
  33487.  
  33488. Exceptions Signalled
  33489. None.
  33490.  
  33491. Pre conditions
  33492. None.
  33493.  
  33494. Post conditions
  33495. None.
  33496.  
  33497. æKY ODShape::IsRectangular
  33498. Shape::IsRectangular
  33499. Shape->IsRectangular
  33500. æT Class Method
  33501. æD ODBoolean IsRectangular();
  33502.  
  33503. æC Protection
  33504.     Public.  
  33505.  
  33506. Override policy
  33507.     Derived class can override.
  33508.     Derived class can call base class behavior.
  33509.  
  33510. Basic operation
  33511. Returns kODTrue if the shape is a rectangle, kODFalse otherwise.
  33512. Empty shapes are rectangular.
  33513.  
  33514. Inputs
  33515. None.
  33516.  
  33517. Outputs
  33518. <result>
  33519.     kODTrue if the shape is rectangular, else kODFalse
  33520.  
  33521. Exceptions Signalled
  33522. None.
  33523.  
  33524. Pre conditions
  33525. None.
  33526.  
  33527. Post conditions
  33528. None.
  33529.  
  33530. æKY ODShape::IsSameAs
  33531. Shape::IsSameAs
  33532. Shape->IsSameAs
  33533. æT Class Method
  33534. æD ODBoolean IsSameAs(
  33535. ODShape* compareShape);
  33536.  
  33537. æC Protection
  33538.     Public.  No restrictions.
  33539.  
  33540. Override policy
  33541.     Derived class can override.
  33542.     Derived class can call base class behavior.
  33543.  
  33544. Basic operation
  33545. Returns true if the two shapes are identical (describe the same area.)
  33546. Warning: This may return false if the shapes are ever so slightly
  33547. different due to rounding errors.
  33548.  
  33549. Inputs
  33550. compareShape
  33551.     shape to compare against.
  33552.  
  33553. Outputs
  33554. <return>
  33555.     kODTrue if shapes are equivalent or equal, kODFalse otherwise.
  33556.  
  33557. Exceptions Signalled
  33558. kODErrOutOfMemory
  33559.     not enough memory to compare shapes.
  33560.  
  33561. Pre conditions
  33562. None.
  33563.  
  33564. Post conditions
  33565. None.
  33566.  
  33567. æKY ODShape::NewShape
  33568. Shape::NewShape
  33569. Shape->NewShape
  33570. æT Class Method
  33571. æD ODShape* NewShape();
  33572.  
  33573. æC Protection
  33574.     Public.  
  33575.  
  33576. Override policy
  33577.     Derived class can override.
  33578.     Derived class can call base class behavior.
  33579.  
  33580. Basic operation
  33581. Returns a new, initialized and empty shape object. This is a "factory
  33582. method" for creating shapes; do not call "new ODShape" yourself.
  33583. The new shape has the same geometry mode as the original shape. This
  33584. is important for things like clip shapes and frame shapes, since the
  33585. wrong choice of geometry mode can reduce performance onscreen or cause
  33586. low-resolution output on a printer.
  33587.  
  33588. Inputs
  33589. None.
  33590.  
  33591. Outputs
  33592. <return>
  33593.     The new ODShape (or NULL if there was an error.)
  33594.  
  33595. Exceptions Signalled
  33596. kODErrOutOfMemory
  33597.     Not enough memory to create a new shape.
  33598.  
  33599. Pre conditions
  33600. None.
  33601.  
  33602. Post conditions
  33603. None.
  33604.  
  33605. æKY ODShape::Outset
  33606. Shape::Outset
  33607. Shape->Outset
  33608. æT Class Method
  33609. æD void Outset(
  33610. ODCoordinate distance );
  33611.  
  33612. æC Protection
  33613.     Public.  
  33614.  
  33615. Override policy
  33616.     Derived class can override.
  33617.     Derived class can call base class behavior.
  33618.  
  33619. Basic operation
  33620. Modifies the shape by moving its boundary outwards (away from its
  33621. interior) by the given distance. (Of course, this pushes interior
  33622. holes inwards, making them smaller.) For instance, outsetting a
  33623. rectangle by a distance d results in a rectangle each of whose edges
  33624. has moved outwards by d, increasing its width and height by twice d.
  33625. The most frequent use for Outset is to produce a border around a
  33626. shape. To do this, copy the original shape, outset the copy, then
  33627. subtract the original shape from the copy.
  33628. To inset a shape (move the boundary inwards) call Outset with a
  33629. negative distance.
  33630.  
  33631. Inputs
  33632. distance
  33633.     The distance (in the same coordinate system as the shape) by which to
  33634. move the shape's outline.
  33635.  
  33636. Outputs
  33637. None.
  33638.  
  33639. Exceptions Signalled
  33640. kODErrOutOfMemory
  33641.     Not enough memory to complete the operation. The shape will be
  33642. unmodified.
  33643.  
  33644. Pre conditions
  33645. None.
  33646.  
  33647. Post conditions
  33648. None.
  33649.  
  33650. æKY ODShape::ReadShape
  33651. Shape::ReadShape
  33652. Shape->ReadShape
  33653. æT Class Method
  33654. æD ODShape* ReadShape(
  33655. ODStorageUnit *su );
  33656.  
  33657. æC Protection
  33658.     Public.  
  33659.  
  33660. Override policy
  33661.     Derived class can override.
  33662.     Derived class can call base class behavior.
  33663.  
  33664. Basic operation
  33665. Reads shape data from a storage unit into this shape. The storage unit
  33666. must be pre-focused on a particular property. The kODPolygon value
  33667. will be read if it exists, otherwise a platform-dependent shape value
  33668. may be read if it exists, otherwise this object will be deleted and
  33669. NULL will be returned.
  33670. The proper usage of this call is: s = s->ReadShape(su);
  33671.  
  33672. Inputs
  33673. su
  33674.     Prefocused storage unit to read from.
  33675.  
  33676. Outputs
  33677. <return>
  33678.     The receiver if the data was read successfully; otherwise NULL.
  33679.  
  33680. Exceptions Signalled
  33681. None.
  33682.  
  33683. Pre conditions
  33684. Storage unit is prefocused to a property.
  33685.  
  33686. Post conditions
  33687. Shape is initialized [if data was found in su] otherwise this shape is
  33688. deleted.
  33689.  
  33690. æKY ODShape::Reset
  33691. Shape::Reset
  33692. Shape->Reset
  33693. æT Class Method
  33694. æD void Reset();
  33695.  
  33696. æC Protection
  33697.     Public.  
  33698.  
  33699. Override policy
  33700.     Derived class can override.
  33701.     Derived class can call base class behavior.
  33702.  
  33703. Basic operation
  33704. Clears the shape by making it empty, i.e. enclosing zero area. (You
  33705. could also do this by calling SetRectangle with an empty rectangle,
  33706. but Reset is easier to call and slightly more efficient.)
  33707.  
  33708. Inputs
  33709. None.
  33710.  
  33711. Outputs
  33712. None.
  33713.  
  33714. Exceptions Signalled
  33715. None.
  33716.  
  33717. Pre conditions
  33718. None.
  33719.  
  33720. Post conditions
  33721. None.
  33722.  
  33723. æKY ODShape::SetGeometryMode
  33724. Shape::SetGeometryMode
  33725. Shape->SetGeometryMode
  33726. æT Class Method
  33727. æD void SetGeometryMode(
  33728. ODGeometryMode mode );
  33729.  
  33730. æC Protection
  33731.     Public.  
  33732.  
  33733. Override policy
  33734.     Derived class can override.
  33735.     Derived class can call base class behavior.
  33736.  
  33737. Basic operation
  33738. Sets the geometry mode (fMode) of this shape. See the discussion of
  33739. the fMode field. Setting the mode to kODNeedsGeometry will throw a
  33740. kODErrNoGeometry exception if the shape has no geometry.
  33741.  
  33742. Inputs
  33743. mode
  33744.     The geometry mode to use.
  33745.  
  33746. Outputs
  33747. None.
  33748.  
  33749. Exceptions Signalled
  33750. kODErrNoGeometry
  33751.     If mode is set to kODNeedsGeometry but shape has no geometry.
  33752.  
  33753. Pre conditions
  33754. None.
  33755.  
  33756. Post conditions
  33757. None.
  33758.  
  33759. æKY ODShape::SetGXShape
  33760. Shape::SetGXShape
  33761. Shape->SetGXShape
  33762. æT Class Method
  33763. æD inline void SetGXShape (
  33764. gxShape shape );
  33765.  
  33766. æC Protection
  33767.     Public.  
  33768.  
  33769. Override policy
  33770.     Derived class cannot override.
  33771.     Derived class cannot call base class behavior.
  33772.  
  33773. Basic operation
  33774. This is a Mac-specific method that sets the shape to a QuickDraw GX
  33775. shape passed in by the caller. The gxShape is consumed by the shape
  33776. and the caller must not use or dispose it afterward.
  33777. This call is identical to: 
  33778. this->SetPlatformShape(kODQuickDrawGX,(ODPlatformShape)shape);
  33779.  
  33780. Inputs
  33781. shape
  33782.     A reference to a QuickDraw GX shape of type polygon, path, empty or
  33783. full.
  33784.  
  33785. Outputs
  33786. None.
  33787.  
  33788. Exceptions Signalled
  33789. None.
  33790.  
  33791. Pre conditions
  33792. QuickDraw GX is installed.
  33793.  
  33794. Post conditions
  33795. Shape owns the gx shape passed in.
  33796.  
  33797. æKY ODShape::SetPlatformShape
  33798. Shape::SetPlatformShape
  33799. Shape->SetPlatformShape
  33800. æT Class Method
  33801. æD void SetPlatformShape(
  33802. ODGraphicsSystem graphicsSystem,
  33803. ODPlatformShape platformShape);
  33804.  
  33805. æC Protection
  33806.     Public.  No restrictions.
  33807.  
  33808. Override policy
  33809.     Derived class can override.
  33810.     Derived class can call base class behavior.
  33811.  
  33812. Basic operation
  33813. Sets the shape's graphics system dependent data. Whether or not the
  33814. data is copied is also platform and graphics-system dependent. In the
  33815. 1.0 Macintosh implementation, the data is not copied and the caller
  33816. must not hang onto it after the call.
  33817.  
  33818. Inputs
  33819. graphicsSystem
  33820.     On Mac, kODQuickDraw or kODQuickDrawGX.
  33821. platformShape
  33822.     On Mac, this is a RgnHandle or gxShape.
  33823.  
  33824. Outputs
  33825. None.
  33826.  
  33827. Exceptions Signalled
  33828. kODErrInvalidGraphicsSystem
  33829.     not a valid graphics system.
  33830.  
  33831. Pre conditions
  33832. graphicsSystem is a supported graphics system of the platform.
  33833. platformShape is a valid platform-specific shape for this graphics
  33834. system.
  33835.  
  33836. Post conditions
  33837. None.
  33838.  
  33839. æKY ODShape::SetPolygon
  33840. Shape::SetPolygon
  33841. Shape->SetPolygon
  33842. æT Class Method
  33843. æD ODShape* SetPolygon(
  33844. ODPolygon *polygon );
  33845.  
  33846. æC Protection
  33847.     Public.  
  33848.  
  33849. Override policy
  33850.     Derived class can override.
  33851.     Derived class can call base class behavior.
  33852.  
  33853. Basic operation
  33854. Sets the shape based on the given polygon. The ODPolygon is not
  33855. modified or used by the shape; the caller is still responsible for it
  33856. afterward.
  33857.  
  33858. Inputs
  33859. polygon
  33860.     ODPolygon to use for this shape.
  33861.  
  33862. Outputs
  33863. <result>
  33864.     The receiver.
  33865.  
  33866. Exceptions Signalled
  33867. None.
  33868.  
  33869. Pre conditions
  33870. polygon points to a valid ODPolygon.
  33871.  
  33872. Post conditions
  33873. Shape is set to a copy of the given polygon.
  33874.  
  33875. æKY ODShape::SetQDRegion
  33876. Shape::SetQDRegion
  33877. Shape->SetQDRegion
  33878. æT Class Method
  33879. æD inline void SetQDRegion (
  33880. RgnHandle rgn );
  33881.  
  33882. æC Protection
  33883.     Public.  
  33884.  
  33885. Override policy
  33886.     Derived class can override.
  33887.     Derived class can call base class behavior.
  33888.  
  33889. Basic operation
  33890. This is a Mac-specific method that sets the shape to a Region passed
  33891. in by the caller. The region is consumed by the shape and the caller
  33892. must not use or dispose it afterward.
  33893. This call is identical to: 
  33894. this->SetPlatformShape(kODQuickDraw,(ODPlatformShape)rgn);
  33895.  
  33896. Inputs
  33897. rgn
  33898.     The QuickDraw region to set.
  33899.  
  33900. Outputs
  33901. None.
  33902.  
  33903. Exceptions Signalled
  33904. None.
  33905.  
  33906. Pre conditions
  33907. None.
  33908.  
  33909. Post conditions
  33910. Shape is equivalent to rgn.
  33911. Shape either owns or has disposed the region passed in.
  33912.  
  33913. æKY ODShape::SetRectangle
  33914. Shape::SetRectangle
  33915. Shape->SetRectangle
  33916. æT Class Method
  33917. æD ODShape* SetRectangle(
  33918. ODRect *rect );
  33919.  
  33920. æC Protection
  33921.     Public.  
  33922.  
  33923. Override policy
  33924.     Derived class can override.
  33925.     Derived class can call base class behavior.
  33926.  
  33927. Basic operation
  33928. Changes this shape to be a rectangle with the given coordinates.
  33929.  
  33930. Inputs
  33931. rect
  33932.     Rectangle to set this shape equal to.
  33933.  
  33934. Outputs
  33935. None.
  33936.  
  33937. Exceptions Signalled
  33938. None.
  33939.  
  33940. Pre conditions
  33941. None.
  33942.  
  33943. Post conditions
  33944. Shape is set to a rectangle identical to rect.
  33945.  
  33946. æKY ODShape::somInit
  33947. Shape::somInit
  33948. Shape->somInit
  33949. æT Class Method
  33950. æD somInit();
  33951.  
  33952. æC Protection
  33953.     Public.  Only factory methods should directly create shapes.
  33954.  
  33955. Override policy
  33956.     Derived class can override.
  33957.     Derived class can call base class behavior.
  33958.  
  33959. Basic operation
  33960. Creates an ODShape object with no shape data. This must be followed by
  33961. a call to InitShape, SetRectangle, SetPlatformShape, CopyFrom or
  33962. ReadShape (or ~ODShape, of course.)
  33963.  
  33964. Inputs
  33965. None.
  33966.  
  33967. Outputs
  33968. <return>
  33969.     an ODShape object. 
  33970.  
  33971. Exceptions Signalled
  33972. None.
  33973.  
  33974. Pre conditions
  33975. None.
  33976.  
  33977. Post conditions
  33978. Shape is allocated but uninitialized (fShape==NULL.)
  33979.  
  33980. æKY ODShape::somUninit
  33981. Shape::somUninit
  33982. Shape->somUninit
  33983. æT Class Method
  33984. æD somUninit();
  33985.  
  33986. æC Protection
  33987.     Public.  Don't call directly; just delete the object.
  33988.  
  33989. Override policy
  33990.     Derived class can override.
  33991.     Derived class can call base class behavior.
  33992.  
  33993. Basic operation
  33994. Deletes an ODShape object and any private shape data.
  33995.  
  33996. Inputs
  33997. None.
  33998.  
  33999. Outputs
  34000. None.
  34001.  
  34002. Exceptions Signalled
  34003. None.
  34004.  
  34005. Pre conditions
  34006. None.
  34007.  
  34008. Post conditions
  34009. Shape, fShape (if any) and fShape's private data (if any) are deleted.
  34010.  
  34011. æKY ODShape::Subtract
  34012. Shape::Subtract
  34013. Shape->Subtract
  34014. æT Class Method
  34015. æD ODShape* Subtract(
  34016. ODShape* diffShape);
  34017.  
  34018. æC Protection
  34019.     Public.  No restrictions.
  34020.  
  34021. Override policy
  34022.     Derived class can override.
  34023.     Derived class can call base class behavior.
  34024.  
  34025. Basic operation
  34026. Substracts diffShape from this shape; result is stored in this shape.
  34027.  
  34028. Inputs
  34029. diffShape
  34030.     Shape to subtract from this shape.
  34031.  
  34032. Outputs
  34033. <result>
  34034.     The receiver.
  34035.  
  34036. Exceptions Signalled
  34037. kODErrOutOfMemory
  34038.     not enough memory to subtract shapes.
  34039. kODErrNoShapeGeometry
  34040.     Geometry mode is kODNeedsGeometry, but diffShape has no geometry.
  34041.  
  34042. Pre conditions
  34043. None.
  34044.  
  34045. Post conditions
  34046. This shape is set to the value (this - diffShape).
  34047. diffShape is unaltered.
  34048.  
  34049. æKY ODShape::Transform
  34050. Shape::Transform
  34051. Shape->Transform
  34052. æT Class Method
  34053. æD ODShape* Transform(
  34054. ODTransform* transform);
  34055.  
  34056. æC Protection
  34057.     Public.  
  34058.  
  34059. Override policy
  34060.     Derived class can override.
  34061.     Derived class can call base class behavior.
  34062.  
  34063. Basic operation
  34064. Runs this shape through a transformation (an offset, scale, rotation,
  34065. skew, etc.)
  34066.  
  34067. Inputs
  34068. transform
  34069.     ODTransform to apply to this shape.
  34070.  
  34071. Outputs
  34072. <result>
  34073.     The receiver.
  34074.  
  34075. Exceptions Signalled
  34076. kODErrNoGeometry
  34077.     Shape doesn't have enough geometric information for this
  34078. transformation.
  34079.  
  34080. Pre conditions
  34081. None.
  34082.  
  34083. Post conditions
  34084. Shape is transformed.
  34085.  
  34086. æKY ODShape::Union
  34087. Shape::Union
  34088. Shape->Union
  34089. æT Class Method
  34090. æD ODShape* Union(
  34091. ODShape* unionShape);
  34092.  
  34093. æC Protection
  34094.     Public.  
  34095.  
  34096. Override policy
  34097.     Derived class can override.
  34098.     Derived class can call base class behavior.
  34099.  
  34100. Basic operation
  34101. Unions this shape with sectShape. This shape becomes the union;
  34102. unionShape is unchanged.
  34103.  
  34104. Inputs
  34105. unionShape
  34106.     Shape to combine with this shape.
  34107.  
  34108. Outputs
  34109. <result>
  34110.     The receiver.
  34111.  
  34112. Exceptions Signalled
  34113. kODErrNoGeometry
  34114.     Geometry mode is kODNeedsGeometry, but diffShape has no geometry.
  34115.  
  34116. Pre conditions
  34117. None.
  34118.  
  34119. Post conditions
  34120. This shape becomes the intersection of sectShape and its previous
  34121. shape.
  34122. sectShape is unchanged.
  34123.  
  34124. æKY ODShape::WriteShape
  34125. Shape::WriteShape
  34126. Shape->WriteShape
  34127. æT Class Method
  34128. æD void WriteShape(
  34129. ODStorageUnit *su );
  34130.  
  34131. æC Protection
  34132.     Public.  
  34133.  
  34134. Override policy
  34135.     Derived class can override.
  34136.     Derived class can call base class behavior.
  34137.  
  34138. Basic operation
  34139. Writes shape data to a specific value of a storage unit. The storage
  34140. unit must already be focused to a particular property. If possible the
  34141. data will be written as a polygon, type kODPolygon. If the shape is
  34142. not geometric, the data may be written in some platform dependent
  34143. format (or an exception may be thrown.)
  34144.  
  34145. Inputs
  34146. su
  34147.     Storage unit (pre-focused) to write polygon data to.
  34148.  
  34149. Outputs
  34150. None.
  34151.  
  34152. Exceptions Signalled
  34153. None.
  34154.  
  34155. Pre conditions
  34156. None.
  34157.  
  34158. Post conditions
  34159. Shape data is written to one or more values of a property of the
  34160. storage unit.
  34161.  
  34162. æKY ODShape::fMode
  34163. Shape::fMode
  34164. æT Class Field
  34165. æD ODGeometryMode fMode;    // Private field
  34166.  
  34167. This is the shape's geometry mode, which tells whether the shapes
  34168. geometric info (its polygonal representation) will be needed in the
  34169. future. It has three possible values:
  34170.  
  34171. • kODPreserveGeometry --the default-- means that the shape will
  34172. preserve its geometric information as long as possible until it is
  34173. lost by combination with a non-geometric shape.
  34174. • kODLoseGeometry means that the geometry is not needed and can be
  34175. discarded to optimize speed. A facet's clipShape will generally have
  34176. this mode.
  34177. • kODNeedsGeometry means that the geometry is required. Rather than
  34178. discard geometry, the shape will throw a kODErrNoShapeGeometry
  34179. exception if combined with a non-geometric shape. A facet's frameShape
  34180. and usedShape will have this mode since they are stored persistently
  34181. in polygonal form.
  34182. æC 
  34183. æKY ODShape::fShape
  34184. Shape::fShape
  34185. æT Class Field
  34186. æD ODRealShape *fShape;   // Private field
  34187.  
  34188. This is the actual shape object. Most methods are delegated to this
  34189. object. Some operations may change fShape into a different object of a
  34190. different class: for instance, if fShape is an ODRectShape, and it is
  34191. unioned with another rectangle, the result will usually not be a
  34192. rectangle and fShape will be changed to a new ODPolygonShape or
  34193. ODRgnShape. (This is all invisible to the client.)
  34194. æC 
  34195.  
  34196. æKY ODShellPlugInHelp
  34197. ODShellPlugIn
  34198. ShellPlugIn
  34199. æKL ODShellPlugIn::InitShellPlugIn
  34200. ODShellPlugIn::Install
  34201. æC Basic Class Documentation
  34202. OpenDoc Shell PlugIn objects are a basic way to extend the OpenDoc
  34203. Document Shell subsystem.  Everytime a document is opened, the
  34204. document shell initializes itself and the session for the document and
  34205. then proceeds to run all the shell plugins which are installed on the
  34206. machine.  This way, ODShellPlugIn objects get a chance to add
  34207. DispatchModules, FocusModules, entries to namespaces, and even patch
  34208. the various session level objects such as ODClipboard.
  34209. Superclass: ODExtension
  34210. It is intended that Part Editor developers subclass this class.
  34211.  
  34212. Theory of Operation
  34213.  
  34214.  
  34215. Invariants Maintained by Class
  34216.  
  34217. æKY ODShellPlugIn::InitShellPlugIn
  34218. ShellPlugIn::InitShellPlugIn
  34219. ShellPlugIn->InitShellPlugIn
  34220. æT Class Method
  34221. æD void InitShellPlugIn(
  34222. ODPart* base);
  34223.  
  34224. æC Protection
  34225.     Public.  
  34226.  
  34227. Override policy
  34228.     Derived class must override.
  34229.     Derived class must call base class behavior.
  34230.  
  34231. Basic operation
  34232. This method calls its superclasses' InitExtension method and
  34233. initializes the shellplugin object.
  34234.  
  34235. Inputs
  34236. base
  34237.     The base object for this extension.
  34238.  
  34239. Outputs
  34240. None.
  34241.  
  34242. Exceptions Signalled
  34243. None.
  34244.  
  34245. Pre conditions
  34246. The shellplugin object is not initialized
  34247.  
  34248. Post conditions
  34249. The shellplugin object is initialized and is ready to execute other
  34250. methods.
  34251.  
  34252. æKY ODShellPlugIn::Install
  34253. ShellPlugIn::Install
  34254. ShellPlugIn->Install
  34255. æT Class Method
  34256. æD void Install(
  34257. ODDraft* draft);
  34258.  
  34259. æC Protection
  34260.     Public.  
  34261.  
  34262. Override policy
  34263.     Derived class must override.
  34264.     Derived class cannot call base class behavior.
  34265.  
  34266. Basic operation
  34267. This is an abstract method which must be implemented by a subclass of
  34268. ODShellPlugIn.
  34269.  
  34270. Inputs
  34271. None.
  34272.  
  34273. Outputs
  34274. None.
  34275.  
  34276. Exceptions Signalled
  34277. None.
  34278.  
  34279. Pre conditions
  34280. None.
  34281.  
  34282. Post conditions
  34283. The shellplugin object has installed whatever functionality it needed
  34284. to into this OpenDoc document session.
  34285.  
  34286.  
  34287. æKY ODSIHelperHelp
  34288. ODSIHelper
  34289. SIHelper
  34290. æKL ODSIHelper::Call… functions
  34291. ODSIHelper::GetCoercionHandler
  34292. ODSIHelper::GetEventHandler
  34293. ODSIHelper::GetObjectAccessor
  34294. ODSIHelper::GetSpecialHandler
  34295. ODSIHelper::InitSIHelper
  34296. ODSIHelper::InstallAdjustMarksProc
  34297. ODSIHelper::InstallCoercionHandler
  34298. ODSIHelper::InstallCompareProc
  34299. ODSIHelper::InstallCountProc
  34300. ODSIHelper::InstallDisposeTokenProc
  34301. ODSIHelper::InstallEventHandler
  34302. ODSIHelper::InstallGetErrDescProc
  34303. ODSIHelper::InstallGetMarkTokenProc
  34304. ODSIHelper::InstallMarkProc
  34305. ODSIHelper::InstallObjectAccessor
  34306. ODSIHelper::InstallSpecialHandler
  34307. ODSIHelper::RemoveCoercionHandler
  34308. ODSIHelper::RemoveEventHandler
  34309. ODSIHelper::RemoveObjectAccessor
  34310. ODSIHelper::RemoveSpecialHandler
  34311. ODSIHelper::SIHelper
  34312. ODSIHelper::~SIHelper
  34313. ODSIHelper::fAdjustMarksProcPtr
  34314. ODSIHelper::fCoercionHandlerTable
  34315. ODSIHelper::fCompareProcPtr
  34316. ODSIHelper::fCountProcPtr
  34317. ODSIHelper::fDisposeTokenProcPtr
  34318. ODSIHelper::fEventHandlerTable
  34319. ODSIHelper::fGetErrDescProcPtr
  34320. ODSIHelper::fMarkProcPtr
  34321. ODSIHelper::fMarkTokenProcPtr
  34322. ODSIHelper::fObjectAccessorTable
  34323. æC Basic Class Documentation
  34324. This class encapsulates the functionality necessary to install
  34325. semantic event handlers and object accessors, as well as other special
  34326. callbacks. These calls resemble their AppleEvent and AppleEvent object
  34327. model counterparts very closely. An SIHelper object can be thought as
  34328. a handler table.
  34329. The platform vendor will implement if appropriate.
  34330. The member functions of this class work similarly to the corresponding
  34331. "AE<MemberFunctionName>" functions of the AppleEvent manager and the
  34332. Object Support Library.
  34333. SIHelper is a C++ class and is a subclass of SIHelperAbs.
  34334. A minimum of documentation is given for functions that have
  34335. counterparts in the AppleEvent Manager. Only differences are pointed
  34336. out.
  34337. The isSysHandler parameter is missing from all these routines.
  34338. Instead, clients wishing to install system callback functions should
  34339. call the appropriate Apple event Manager function.
  34340. Only errors that are different from, or errors that occur in addition
  34341. to the normal AppleEvent exceptions, are documented.
  34342.  
  34343. Theory of Operation
  34344. Each ODPart object that supports scripting and the ODSession can
  34345. instantiate one or more of these for its own use. Additionally
  34346. instances of SIHelper may be shared amongst instances of
  34347. ODSemanticInterfaces. The owning object will install the necessary
  34348. AppleEvent handlers and object accessor routines required to access
  34349. its content model and to respond to the required AppleEvents.
  34350. Callback functions have been changed to accomodate parts. All such
  34351. functions take an ODPart* as a first parameter. This value will be
  34352. kODAppShell for the system and document ODSemanticInterface objects.
  34353. It will contain a pointer to the particular instance of ODPart (or a
  34354. subclass) to which the ODSemanticInterface object belongs.
  34355.  
  34356. Invariants Maintained by Class
  34357. None.
  34358. æKY ODSIHelper::Call… functions
  34359. SIHelper::Call… functions
  34360. SIHelper->Call… functions
  34361. æT Class Method
  34362. æD 
  34363.  
  34364. æC Protection
  34365.     Public.  
  34366.  
  34367. Override policy
  34368.     Derived class can override.
  34369.     Derived class can call base class behavior, during derived class behavior.
  34370.  
  34371. Basic operation
  34372. Note that all of the CallObjectAccessor, etc., calls from
  34373. ODSemanticInterface are duplicated in this class as well. See the
  34374. documentation for ODSemanticInterface.
  34375.  
  34376. Inputs
  34377. None.
  34378.  
  34379. Outputs
  34380. None.
  34381.  
  34382. Exceptions Signalled
  34383. None.
  34384.  
  34385. Pre conditions
  34386. None.
  34387.  
  34388. Post conditions
  34389. None.
  34390.  
  34391. æKY ODSIHelper::GetCoercionHandler
  34392. SIHelper::GetCoercionHandler
  34393. SIHelper->GetCoercionHandler
  34394. æT Class Method
  34395. æD virtual void GetCoercionHandler(
  34396. DescType fromType,
  34397. DescType toType,
  34398. ODCoercionHandler* handler,
  34399. ODSLong*  handlerRefcon,
  34400. ODBoolean* fromTypeIsDesc);
  34401.  
  34402. æC Protection
  34403.     Public.  
  34404.  
  34405. Override policy
  34406.     Derived class cannot override.
  34407.     Derived class cannot call base class behavior, during derived class behavior.
  34408.  
  34409. Basic operation
  34410. See AppleEvent Manager documentation.
  34411.  
  34412. Inputs
  34413.  
  34414. toType
  34415.     The descriptor type of the resulting data.
  34416.  
  34417. Outputs
  34418. handler
  34419.     A pointer to the coercion handler.
  34420. handlerRefCon
  34421.     A reference constant that is passed by the Apple Event Manager to the
  34422. handler each time the handler is called.
  34423. fromTypeIsDesc
  34424.     Specifies the form of the data to be coerced.  If the value of this
  34425. parameter is true, the coercion handler expects the data to be passed
  34426. as a descriptor.  If the value is false, the coercion handler expects
  34427. a pointer to the data.
  34428.  
  34429. Exceptions Signalled
  34430. memFullErr
  34431.     Not enough room in heap zone
  34432. errAEHandlerNotFound
  34433.     No coercion handler found
  34434.  
  34435. Pre conditions
  34436. None.
  34437.  
  34438. Post conditions
  34439. None.
  34440.  
  34441. æKY ODSIHelper::GetEventHandler
  34442. SIHelper::GetEventHandler
  34443. SIHelper->GetEventHandler
  34444. æT Class Method
  34445. æD virtual void GetEventHandler(
  34446. AEEventClass theAEEventClass,
  34447. AEEventID theAEEventID,
  34448. ODEventHandlerProcPtr* handler,
  34449. ODSLong* handlerRefcon);
  34450.  
  34451. æC Protection
  34452.     Public.  
  34453.  
  34454. Override policy
  34455.     Derived class cannot override.
  34456.     Derived class cannot call base class behavior, during derived class behavior.
  34457.  
  34458. Basic operation
  34459. See AppleEvent Manager documentation.
  34460.  
  34461. Inputs
  34462. theAEEventClass
  34463.     The event class for the Apple event or events to be dispatched for
  34464. this entry.
  34465. theAEEventID
  34466.     The event ID for the Apple event or events to be dispatched for this
  34467. entry.
  34468.  
  34469. Outputs
  34470. handler
  34471.     A pointer to an Apple event handler for this dispatch table entry.
  34472. handlerRefCon
  34473.     A reference constant that is passed by the Apple Event Manager to the
  34474. handler each time the handler is called.
  34475.  
  34476. Exceptions Signalled
  34477. errAEHandlerNotFound
  34478.     No handler found for an Apple event
  34479.  
  34480. Pre conditions
  34481. None.
  34482.  
  34483. Post conditions
  34484. None.
  34485.  
  34486. æKY ODSIHelper::GetObjectAccessor
  34487. SIHelper::GetObjectAccessor
  34488. SIHelper->GetObjectAccessor
  34489. æT Class Method
  34490. æD virtual void GetObjectAccessor(
  34491. DescType  desiredClass,
  34492. DescType containerType,
  34493. ODAccessorProcPtr* theAccessor,
  34494. ODSLong* accessorRefcon);
  34495.  
  34496. æC Protection
  34497.     Public.  
  34498.  
  34499. Override policy
  34500.     Derived class cannot override.
  34501.     Derived class cannot call base class behavior, during derived class behavior.
  34502.  
  34503. Basic operation
  34504. See AppleEvent Manager documentation.
  34505.  
  34506. Inputs
  34507. desiredClass
  34508.     The object class of the Apple event objects to be located by the
  34509. object accessor function for this table entry.
  34510. containerType
  34511.     The descriptor type of the token used to specify the container for the
  34512. desired objects.
  34513.  
  34514. Outputs
  34515. theAccessor
  34516.     A pointer to the object accessor function for this table entry.
  34517. accessorRefCon
  34518.     A reference constant passed by the Apple Event Manager to the object
  34519. accessor function whenever the function is called.
  34520.  
  34521. Exceptions Signalled
  34522. See
  34523.     AppleEvent Mgr documentation. 
  34524.  
  34525. Pre conditions
  34526. None.
  34527.  
  34528. Post conditions
  34529. None.
  34530.  
  34531. æKY ODSIHelper::GetSpecialHandler
  34532. SIHelper::GetSpecialHandler
  34533. SIHelper->GetSpecialHandler
  34534. æT Class Method
  34535. æD virtual void GetSpecialHandler(
  34536. AEKeyword  functionClass,
  34537. ODSpecialHandlerPtr* handler);
  34538.  
  34539. æC Protection
  34540.     Public.  
  34541.  
  34542. Override policy
  34543.     Derived class cannot override.
  34544.     Derived class cannot call base class behavior, during derived class behavior.
  34545.  
  34546. Basic operation
  34547. See AppleEvent Manager documentation.
  34548.  
  34549. Inputs
  34550. functionClass
  34551.     The keyword for the special handler that is installed.
  34552.  
  34553. Outputs
  34554. handler
  34555.     A pointer to the special handler.
  34556.  
  34557. Exceptions Signalled
  34558. memFullErr
  34559.     Not enough room in heap zone
  34560. errAENotASpecialFunction
  34561.     Wrong keyword for a special function
  34562.  
  34563. Pre conditions
  34564. None.
  34565.  
  34566. Post conditions
  34567. None.
  34568.  
  34569. æKY ODSIHelper::InitSIHelper
  34570. SIHelper::InitSIHelper
  34571. SIHelper->InitSIHelper
  34572. æT Class Method
  34573. æD void InitSIHelper(
  34574. ODSemanticInterface* face);
  34575.  
  34576. æC Protection
  34577.     Public.  
  34578.  
  34579. Override policy
  34580.     Derived class cannot override.
  34581.     Derived class cannot call base class behavior, during derived class behavior.
  34582.  
  34583. Basic operation
  34584. Initialize the object.
  34585.  
  34586. Inputs
  34587. face
  34588.     The ODSemanticInterface for which this will be a helper object.
  34589.  
  34590. Outputs
  34591. None
  34592.  
  34593. Exceptions Signalled
  34594. kODErrOutOfMemory
  34595.     Not enough room to allocate internal structures.
  34596.  
  34597. Pre conditions
  34598. None.
  34599.  
  34600. Post conditions
  34601. fEventHandlerTable, fObjectAccessorTable, and fCoercionHandlerTable,
  34602. et al have been succesfully instantiated.
  34603.  
  34604. æKY ODSIHelper::InstallAdjustMarksProc
  34605. SIHelper::InstallAdjustMarksProc
  34606. SIHelper->InstallAdjustMarksProc
  34607. æT Class Method
  34608. æD InstallAdjustMarksProc(
  34609. ODMarkPtr    adjustMarksProc,
  34610. ODSLong        refCon);
  34611.  
  34612. æC Protection
  34613.     Public.  
  34614.  
  34615. Override policy
  34616.     Derived class cannot override.
  34617.     Derived class cannot call base class behavior, during derived class behavior.
  34618.  
  34619. Basic operation
  34620. Install a reference to a callback function that gets called to unmark
  34621. objects that have previously been marked.
  34622.  
  34623. Inputs
  34624. countProc
  34625.     the procedure pointer
  34626. refCon
  34627.     a reference constant
  34628.  
  34629. Outputs
  34630. None.
  34631.  
  34632. Exceptions Signalled
  34633. None.
  34634.  
  34635. Pre conditions
  34636. None.
  34637.  
  34638. Post conditions
  34639. The callback function and refCon are stored and available for future
  34640. use by the Semantic Events subsystem.
  34641.  
  34642. æKY ODSIHelper::InstallCoercionHandler
  34643. SIHelper::InstallCoercionHandler
  34644. SIHelper->InstallCoercionHandler
  34645. æT Class Method
  34646. æD virtual void InstallCoercionHandler(
  34647. DescType fromType,
  34648. DescType toType,
  34649. ODCoercionHandler handler,
  34650. ODSLong handlerRefcon,
  34651. ODBoolean fromTypeIsDesc);
  34652.  
  34653. æC Protection
  34654.     Public.  
  34655.  
  34656. Override policy
  34657.     Derived class cannot override.
  34658.     Derived class cannot call base class behavior, during derived class behavior.
  34659.  
  34660. Basic operation
  34661. See AppleEvent Manager documentation.
  34662.  
  34663. Inputs
  34664. fromType
  34665.     The descriptor type of the data coerced by the handler.
  34666. toType
  34667.     The descriptor type of the resulting data.
  34668. handler
  34669.     A pointer to the coercion handler.
  34670. handlerRefcon
  34671.     A reference constant that is passed by the Apple Event Manager to the
  34672. handler each time the handler is called.
  34673. fromTypeIsDesc
  34674.     Specifies the form of the data to be coerced.  If the value of this
  34675. parameter is true, the coercion handler expects the data to be passed
  34676. as a descriptor.  If the value is false, the coercion handler expects
  34677. a pointer to the data.
  34678.  
  34679. Outputs
  34680. None.
  34681.  
  34682. Exceptions Signalled
  34683. memFullErr
  34684.     Not enough room in heap zone
  34685.  
  34686. Pre conditions
  34687. None.
  34688.  
  34689. Post conditions
  34690. The function will be installed in the coercion handler table.
  34691.  
  34692. æKY ODSIHelper::InstallCompareProc
  34693. SIHelper::InstallCompareProc
  34694. SIHelper->InstallCompareProc
  34695. æT Class Method
  34696. æD InstallCompareProc(
  34697. ODCompareProcPtr    compareProc,
  34698. ODSLong        refCon);
  34699.  
  34700. æC Protection
  34701.     Public.  
  34702.  
  34703. Override policy
  34704.     Derived class cannot override.
  34705.     Derived class cannot call base class behavior, during derived class behavior.
  34706.  
  34707. Basic operation
  34708. Install a reference to a callback function that compares objects.
  34709.  
  34710. Inputs
  34711. compareProc
  34712.     the procedure pointer
  34713. refCon
  34714.     a reference constant
  34715.  
  34716. Outputs
  34717. None.
  34718.  
  34719. Exceptions Signalled
  34720. None.
  34721.  
  34722. Pre conditions
  34723. None.
  34724.  
  34725. Post conditions
  34726. The callback function and refCon are stored and available for future
  34727. use by the Semantic Events subsystem.
  34728.  
  34729. æKY ODSIHelper::InstallCountProc
  34730. SIHelper::InstallCountProc
  34731. SIHelper->InstallCountProc
  34732. æT Class Method
  34733. æD InstallCountProc(
  34734. ODCountProcPtr    countProc,
  34735. ODSLong        refCon);
  34736.  
  34737. æC Protection
  34738.     Public.  
  34739.  
  34740. Override policy
  34741.     Derived class cannot override.
  34742.     Derived class cannot call base class behavior, during derived class behavior.
  34743.  
  34744. Basic operation
  34745. Install a reference to a callback function that counts objects.
  34746.  
  34747. Inputs
  34748. countProc
  34749.     the procedure pointer
  34750. refCon
  34751.     a reference constant
  34752.  
  34753. Outputs
  34754. None.
  34755.  
  34756. Exceptions Signalled
  34757. None.
  34758.  
  34759. Pre conditions
  34760. None.
  34761.  
  34762. Post conditions
  34763. The callback function and refCon are stored and available for future
  34764. use by the Semantic Events subsystem.
  34765.  
  34766. æKY ODSIHelper::InstallDisposeTokenProc
  34767. SIHelper::InstallDisposeTokenProc
  34768. SIHelper->InstallDisposeTokenProc
  34769. æT Class Method
  34770. æD InstallDisposeTokenProc(
  34771. ODDisposeTokenProcPtr    disposeTokenProc,
  34772. ODSLong        refCon);
  34773.  
  34774. æC Protection
  34775.     Public.  
  34776.  
  34777. Override policy
  34778.     Derived class cannot override.
  34779.     Derived class cannot call base class behavior, during derived class behavior.
  34780.  
  34781. Basic operation
  34782. Install a reference to a callback function that disposes tokens.
  34783.  
  34784. Inputs
  34785. countProc
  34786.     the procedure pointer
  34787. refCon
  34788.     a reference constant
  34789.  
  34790. Outputs
  34791. None.
  34792.  
  34793. Exceptions Signalled
  34794. None.
  34795.  
  34796. Pre conditions
  34797. None.
  34798.  
  34799. Post conditions
  34800. The callback function and refCon are stored and available for future
  34801. use by the Semantic Events subsystem.
  34802.  
  34803. æKY ODSIHelper::InstallEventHandler
  34804. SIHelper::InstallEventHandler
  34805. SIHelper->InstallEventHandler
  34806. æT Class Method
  34807. æD virtual void InstallEventHandler(
  34808. AEEventClass  theAEEventClass,
  34809. AEEventID theAEEventID,
  34810. ODEventHandlerProcPtr handler,
  34811. ODSLong handlerRefcon,
  34812. ODUlong mode);
  34813.  
  34814. æC Protection
  34815.     Public.  
  34816.  
  34817. Override policy
  34818.     Derived class cannot override.
  34819.     Derived class cannot call base class behavior, during derived class behavior.
  34820.  
  34821. Basic operation
  34822. See AppleEvent Manager documentation.
  34823.  
  34824. Inputs
  34825. theAEEventClass
  34826.     The event class for the Apple event or events to be dispatched for
  34827. this entry.
  34828. theAEEventID
  34829.     The event ID for the Apple event or events to be dispatched for this
  34830. entry.
  34831. handler
  34832.     A pointer to an Apple event handler for this dispatch table entry.
  34833. handlerRefCon
  34834.     A reference constant that is passed by the Apple Event Manager to the
  34835. handler each time the handler is called.
  34836. mode
  34837.     mode flags. If kODAlwaysForward is specified, any event received by
  34838. the document is always forwarded to this handler.
  34839.  
  34840. Outputs
  34841. None.
  34842.  
  34843. Exceptions Signalled
  34844. memFullErr
  34845.     Not enough room in heap zone
  34846.  
  34847. Pre conditions
  34848. None.
  34849.  
  34850. Post conditions
  34851. The function will be installed in the event handler table.
  34852.  
  34853. æKY ODSIHelper::InstallGetErrDescProc
  34854. SIHelper::InstallGetErrDescProc
  34855. SIHelper->InstallGetErrDescProc
  34856. æT Class Method
  34857. æD InstallGetErrDescProc(
  34858. ODMarkPtr    getErrDescProc,
  34859. ODSLong        refCon);
  34860.  
  34861. æC Protection
  34862.     Public.  
  34863.  
  34864. Override policy
  34865.     Derived class cannot override.
  34866.     Derived class cannot call base class behavior, during derived class behavior.
  34867.  
  34868. Basic operation
  34869. Install a reference to a callback function that gets called to return
  34870. a pointer to a client's descriptor record that will be used to write
  34871. the descriptor for the last object being worked on when an error
  34872. occurred.
  34873.  
  34874. Inputs
  34875. countProc
  34876.     the procedure pointer
  34877. refCon
  34878.     a reference constant
  34879.  
  34880. Outputs
  34881. None.
  34882.  
  34883. Exceptions Signalled
  34884. None.
  34885.  
  34886. Pre conditions
  34887. None.
  34888.  
  34889. Post conditions
  34890. The callback function and refCon are stored and available for future
  34891. use by the Semantic Events subsystem.
  34892.  
  34893. æKY ODSIHelper::InstallGetMarkTokenProc
  34894. SIHelper::InstallGetMarkTokenProc
  34895. SIHelper->InstallGetMarkTokenProc
  34896. æT Class Method
  34897. æD InstallGetMarkTokenProc(
  34898. ODGetMarkTokenProcPtr    getMarkTokenProc,
  34899. ODSLong        refCon);
  34900.  
  34901. æC Protection
  34902.     Public.  
  34903.  
  34904. Override policy
  34905.     Derived class cannot override.
  34906.     Derived class cannot call base class behavior, during derived class behavior.
  34907.  
  34908. Basic operation
  34909. Install a reference to a callback function that gets a token that the
  34910. client will use to mark set of objects.
  34911.  
  34912. Inputs
  34913. countProc
  34914.     the procedure pointer
  34915. refCon
  34916.     a reference constant
  34917.  
  34918. Outputs
  34919. None.
  34920.  
  34921. Exceptions Signalled
  34922. None.
  34923.  
  34924. Pre conditions
  34925. None.
  34926.  
  34927. Post conditions
  34928. The callback function and refCon are stored and available for future
  34929. use by the Semantic Events subsystem.
  34930.  
  34931. æKY ODSIHelper::InstallMarkProc
  34932. SIHelper::InstallMarkProc
  34933. SIHelper->InstallMarkProc
  34934. æT Class Method
  34935. æD InstallMarkProc(
  34936. ODMarkPtr    markProc,
  34937. ODSLong        refCon);
  34938.  
  34939. æC Protection
  34940.     Public.  
  34941.  
  34942. Override policy
  34943.     Derived class cannot override.
  34944.     Derived class cannot call base class behavior, during derived class behavior.
  34945.  
  34946. Basic operation
  34947. Install a reference to a callback function that gets called repeatedly
  34948. to mark a set of objects.
  34949.  
  34950. Inputs
  34951. countProc
  34952.     the procedure pointer
  34953. refCon
  34954.     a reference constant
  34955.  
  34956. Outputs
  34957. None.
  34958.  
  34959. Exceptions Signalled
  34960. None.
  34961.  
  34962. Pre conditions
  34963. None.
  34964.  
  34965. Post conditions
  34966. The callback function and refCon are stored and available for future
  34967. use by the Semantic Events subsystem.
  34968.  
  34969. æKY ODSIHelper::InstallObjectAccessor
  34970. SIHelper::InstallObjectAccessor
  34971. SIHelper->InstallObjectAccessor
  34972. æT Class Method
  34973. æD virtual void InstallObjectAccessor(
  34974. DescType desiredClass,
  34975. DescType containerType,
  34976. ODAccessorProcPtr theAccessor,
  34977. ODSLong accessorRefcon);
  34978.  
  34979. æC Protection
  34980.     Public.  
  34981.  
  34982. Override policy
  34983.     Derived class cannot override.
  34984.     Derived class cannot call base class behavior, during derived class behavior.
  34985.  
  34986. Basic operation
  34987. See AppleEvent Manager documentation.
  34988.  
  34989. Inputs
  34990. desiredClass
  34991.     The object class of the Apple event objects to be located by the
  34992. object accessor function for this table entry.
  34993. containerType
  34994.     The descriptor type of the token used to specify the container for the
  34995. desired objects.
  34996. theAccessor
  34997.     A pointer to the object accessor function for this table entry.
  34998. accessorRefCon
  34999.     A reference constant passed by the Apple Event Manager to the object
  35000. accessor function whenever the function is called.
  35001.  
  35002. Outputs
  35003. None
  35004.  
  35005. Exceptions Signalled
  35006. See
  35007.     AppleEvent Manager documentation See AppleEvent Manager documentation
  35008. kODErrOutOfMemory
  35009.     out of memory
  35010.  
  35011. Pre conditions
  35012. None.
  35013.  
  35014. Post conditions
  35015. The function will be installed in the object acessor table. An
  35016. existing function will be replaced.
  35017.  
  35018. æKY ODSIHelper::InstallSpecialHandler
  35019. SIHelper::InstallSpecialHandler
  35020. SIHelper->InstallSpecialHandler
  35021. æT Class Method
  35022. æD virtual void InstallSpecialHandler(
  35023. AEKeyword  functionClass,
  35024. ODSpecialHandlerPtr handler);
  35025.  
  35026. æC Protection
  35027.     Public.  
  35028.  
  35029. Override policy
  35030.     Derived class cannot override.
  35031.     Derived class cannot call base class behavior, during derived class behavior.
  35032.  
  35033. Basic operation
  35034. See AppleEvent Manager documentation.
  35035.  
  35036. Inputs
  35037. functionClass
  35038.     The keyword for the special handler that is installed.
  35039. handler
  35040.     A pointer to the special handler.
  35041.  
  35042. Outputs
  35043. None.
  35044.  
  35045. Exceptions Signalled
  35046. paramErr
  35047.     handler pointer is nil or odd
  35048. memFullErr
  35049.     Not enough room in heap zone
  35050. errAENotASpecialFunction
  35051.     Wrong keyword for a special function
  35052.  
  35053. Pre conditions
  35054. None.
  35055.  
  35056. Post conditions
  35057. The function will be installed in the special handler table.
  35058.  
  35059. æKY ODSIHelper::RemoveCoercionHandler
  35060. SIHelper::RemoveCoercionHandler
  35061. SIHelper->RemoveCoercionHandler
  35062. æT Class Method
  35063. æD virtual void RemoveCoercionHandler(
  35064. DescType fromType,
  35065. DescType toType,
  35066. ODCoercionHandler handler);
  35067.  
  35068. æC Protection
  35069.     Public.  
  35070.  
  35071. Override policy
  35072.     Derived class cannot override.
  35073.     Derived class cannot call base class behavior, during derived class behavior.
  35074.  
  35075. Basic operation
  35076. See AppleEvent Manager documentation.
  35077.  
  35078. Inputs
  35079. fromType
  35080.     The descriptor type of the data coerced by the handler.
  35081. toType
  35082.     The descriptor type of the resulting data.
  35083. handler
  35084.     A pointer to the coercion handler.
  35085.  
  35086. Outputs
  35087. None.
  35088.  
  35089. Exceptions Signalled
  35090. memFullErr
  35091.     Not enough room in heap zone
  35092. errAEHandlerNotFound
  35093.     No coercion handler found
  35094.  
  35095. Pre conditions
  35096. None.
  35097.  
  35098. Post conditions
  35099. The function is removed from the coercion handler table.
  35100.  
  35101. æKY ODSIHelper::RemoveEventHandler
  35102. SIHelper::RemoveEventHandler
  35103. SIHelper->RemoveEventHandler
  35104. æT Class Method
  35105. æD virtual void RemoveEventHandler(
  35106. AEEventClass  theAEEventClass,
  35107. AEEventID theAEEventID,
  35108. ODEventHandlerProcPtr handler);
  35109.  
  35110. æC Protection
  35111.     Public.  
  35112.  
  35113. Override policy
  35114.     Derived class cannot override.
  35115.     Derived class cannot call base class behavior, during derived class behavior.
  35116.  
  35117. Basic operation
  35118. See AppleEvent Manager documentation.
  35119.  
  35120. Inputs
  35121. theAEEventClass
  35122.     The event class for the Apple event or events to be dispatched for
  35123. this entry.
  35124. theAEEventID
  35125.     The event ID for the Apple event or events to be dispatched for this
  35126. entry.
  35127. handler
  35128.     A pointer to an Apple event handler for this dispatch table entry.
  35129.  
  35130. Outputs
  35131. None.
  35132.  
  35133. Exceptions Signalled
  35134. errAEHandlerNotFound
  35135.     No handler found for an Apple event
  35136.  
  35137. Pre conditions
  35138. None.
  35139.  
  35140. Post conditions
  35141. The function is removed from the event handler table.
  35142.  
  35143. æKY ODSIHelper::RemoveObjectAccessor
  35144. SIHelper::RemoveObjectAccessor
  35145. SIHelper->RemoveObjectAccessor
  35146. æT Class Method
  35147. æD virtual void RemoveObjectAccessor(
  35148. DescType desiredClass,
  35149. DescType containerType,
  35150. ODAccessorProcPtr theAccessor);
  35151.  
  35152. æC Protection
  35153.     Public.  
  35154.  
  35155. Override policy
  35156.     Derived class cannot override.
  35157.     Derived class cannot call base class behavior, during derived class behavior.
  35158.  
  35159. Basic operation
  35160. See AppleEvent Manager documentation.
  35161.  
  35162. Inputs
  35163. desiredClass
  35164.     The object class of the Apple event objects located by the object
  35165. accessor function.
  35166. containerType
  35167.     The descriptor type of the token that identifies the container for the
  35168. objects located by the object accessor function.
  35169. theAccessor
  35170.     A pointer to the object accessor function you want to remove.
  35171.  
  35172. Outputs
  35173. None.
  35174.  
  35175. Exceptions Signalled
  35176. See
  35177.     AppleEvent Mgr documentation. 
  35178.  
  35179. Pre conditions
  35180. None.
  35181.  
  35182. Post conditions
  35183. The object accessor function is removed from the object accessor
  35184. table.
  35185.  
  35186. æKY ODSIHelper::RemoveSpecialHandler
  35187. SIHelper::RemoveSpecialHandler
  35188. SIHelper->RemoveSpecialHandler
  35189. æT Class Method
  35190. æD virtual void RemoveSpecialHandler(
  35191. AEKeyword  functionClass,
  35192. ODSpecialHandlerPtr handler);
  35193.  
  35194. æC Protection
  35195.     Public.  
  35196.  
  35197. Override policy
  35198.     Derived class cannot override.
  35199.     Derived class cannot call base class behavior, during derived class behavior.
  35200.  
  35201. Basic operation
  35202. See AppleEvent Manager documentation.
  35203.  
  35204. Inputs
  35205. functionClass
  35206.     The keyword for the special handler that is installed.
  35207. handler
  35208.     A pointer to the special handler.
  35209.  
  35210. Outputs
  35211. None.
  35212.  
  35213. Exceptions Signalled
  35214. memFullErr
  35215.     Not enough room in heap zone
  35216. errAENotASpecialFunction
  35217.     Wrong keyword for a special function
  35218.  
  35219. Pre conditions
  35220. None.
  35221.  
  35222. Post conditions
  35223. The function is removed from the special handler table.
  35224.  
  35225. æKY ODSIHelper::SIHelper
  35226. SIHelper::SIHelper
  35227. SIHelper->SIHelper
  35228. æT Class Method
  35229. æD SIHelper();
  35230.  
  35231. æC Protection
  35232.     Public.  
  35233.  
  35234. Override policy
  35235.     Derived class cannot override.
  35236.     Derived class cannot call base class behavior, during derived class behavior.
  35237.  
  35238. Basic operation
  35239. Initialize the fields object.
  35240.  
  35241. Inputs
  35242. None.
  35243.  
  35244. Outputs
  35245. None
  35246.  
  35247. Exceptions Signalled
  35248. None.
  35249.  
  35250. Pre conditions
  35251. None.
  35252.  
  35253. Post conditions
  35254. Object is instantiated.
  35255.  
  35256. æKY ODSIHelper::~SIHelper
  35257. SIHelper::~SIHelper
  35258. SIHelper->~SIHelper
  35259. æT Class Method
  35260. æD ~SIHelper();
  35261.  
  35262. æC Protection
  35263.     Public.  
  35264.  
  35265. Override policy
  35266.     Derived class cannot override.
  35267.     Derived class cannot call base class behavior, during derived class behavior.
  35268.  
  35269. Basic operation
  35270. Destroy the object
  35271.  
  35272. Inputs
  35273. None
  35274.  
  35275. Outputs
  35276. None
  35277.  
  35278. Exceptions Signalled
  35279. None.
  35280.  
  35281. Pre conditions
  35282. None.
  35283.  
  35284. Post conditions
  35285. Object is destroyed.
  35286.  
  35287. æKY ODSIHelper::fAdjustMarksProcPtr
  35288. SIHelper::fAdjustMarksProcPtr
  35289. æT Class Field
  35290. æD ODAdjustMarksProcPtr fAdjustMarksProcPtr
  35291. æC Persistent form
  35292. None.
  35293.  
  35294. æKY ODSIHelper::fCoercionHandlerTable
  35295. SIHelper::fCoercionHandlerTable
  35296. æT Class Field
  35297. æD ODHashTable* fCoercionHandlerTable;
  35298. æC Persistent form
  35299. None.
  35300.  
  35301. æKY ODSIHelper::fCompareProcPtr
  35302. SIHelper::fCompareProcPtr
  35303. æT Class Field
  35304. æD ODCompareProcPtr fCompareProcPtr
  35305. æC Persistent form
  35306. None.
  35307.  
  35308. æKY ODSIHelper::fCountProcPtr
  35309. SIHelper::fCountProcPtr
  35310. æT Class Field
  35311. æD ODCountProcPtr fCountProcPtr
  35312. æC Persistent form
  35313. None.
  35314.  
  35315. æKY ODSIHelper::fDisposeTokenProcPtr
  35316. SIHelper::fDisposeTokenProcPtr
  35317. æT Class Field
  35318. æD ODDisposeToeknProcPtr fDisposeTokenProcPtr
  35319. æC Persistent form
  35320. None.
  35321.  
  35322. æKY ODSIHelper::fEventHandlerTable
  35323. SIHelper::fEventHandlerTable
  35324. æT Class Field
  35325. æD ODHashTable* fEventHandlerTable;
  35326. æC Persistent form
  35327. None.
  35328.  
  35329. æKY ODSIHelper::fGetErrDescProcPtr
  35330. SIHelper::fGetErrDescProcPtr
  35331. æT Class Field
  35332. æD ODErrDescProcPtr fGetErrDescProcPtr
  35333. æC Persistent form
  35334. None.
  35335.  
  35336. æKY ODSIHelper::fMarkProcPtr
  35337. SIHelper::fMarkProcPtr
  35338. æT Class Field
  35339. æD ODMarkProcPtr fMarkProcPtr
  35340. æC Persistent form
  35341. None.
  35342.  
  35343. æKY ODSIHelper::fMarkTokenProcPtr
  35344. SIHelper::fMarkTokenProcPtr
  35345. æT Class Field
  35346. æD ODGetMarkTokenProcPtr fMarkTokenProcPtr
  35347. æC Persistent form
  35348. None.
  35349.  
  35350. æKY ODSIHelper::fObjectAccessorTable
  35351. SIHelper::fObjectAccessorTable
  35352. æT Class Field
  35353. æD ODHashTable* fObjectAccessorTable;
  35354. æC 
  35355.  
  35356. æKY ODSIHelperAbsHelp
  35357. ODSIHelperAbs
  35358. SIHelperAbs
  35359. æKL ODSIHelperAbs::Call… functions
  35360. ODSIHelperAbs::SIHelper
  35361. ODSIHelperAbs::~SIHelper
  35362. æC Basic Class Documentation
  35363. This class encapsulates the interface necessary to install semantic
  35364. event handlers and object accessors, as well as other special
  35365. callbacks. These calls resemble their AppleEvent and AppleEvent object
  35366. model counterparts very closely. Every ODCPlusSemanticInterface
  35367. instance must own a subclass of SIHelperAbs. The platform vendor will
  35368. implement if appropriate.
  35369. The member functions of this class should work similarly to the
  35370. corresponding "AE<MemberFunctionName>" functions of the AppleEvent
  35371. manager and the Object Support Library.
  35372. SIHelperAbs is a abstract C++ class and must be subclassed.
  35373. A minimum of documentation is given for functions that have
  35374. counterparts in the AppleEvent Manager. Only differences are pointed
  35375. out.
  35376. The isSysHandler parameter is missing from all these routines.
  35377. Instead, clients wishing to install system callback functions should
  35378. call the appropriate Apple event Manager function.
  35379. Only errors that are different from, or errors that occur in addition
  35380. to the normal AppleEvent exceptions, are documented.
  35381.  
  35382. Theory of Operation
  35383. Each ODPart object that supports scripting can instantiate one or more
  35384. of these for its own use. Additionally instances of SIHelperAbs
  35385. subclasses may be shared amongst instances of
  35386. ODCPlusSemanticInterfaces. The owning object will install the
  35387. necessary AppleEvent handlers and object accessor routines required to
  35388. access its content model and to respond to the required AppleEvents.
  35389. Callback functions have been changed to accomodate parts. All such
  35390. functions take an ODPart* as a first parameter. This value will be
  35391. kODAppShell for the system and document ODSemanticInterface objects.
  35392. It will contain a pointer to the particular instance of ODPart (or a
  35393. subclass) to which the ODSemanticInterface object belongs.
  35394.  
  35395. Invariants Maintained by Class
  35396. None.
  35397. æKY ODSIHelperAbs::Call… functions
  35398. SIHelperAbs::Call… functions
  35399. SIHelperAbs->Call… functions
  35400. æT Class Method
  35401. æD 
  35402.  
  35403. æC Protection
  35404.     Public.  
  35405.  
  35406. Override policy
  35407.     Derived class can override.
  35408.     Derived class can call base class behavior, during derived class behavior.
  35409.  
  35410. Basic operation
  35411. Note that all of the CallObjectAccessor, etc., calls from
  35412. ODSemanticInterface are duplicated in this class as well. See the
  35413. documentation for ODSemanticInterface.
  35414.  
  35415. Inputs
  35416. None.
  35417.  
  35418. Outputs
  35419. None.
  35420.  
  35421. Exceptions Signalled
  35422. None.
  35423.  
  35424. Pre conditions
  35425. None.
  35426.  
  35427. Post conditions
  35428. None.
  35429.  
  35430. æKY ODSIHelperAbs::SIHelper
  35431. SIHelperAbs::SIHelper
  35432. SIHelperAbs->SIHelper
  35433. æT Class Method
  35434. æD SIHelper();
  35435.  
  35436. æC Protection
  35437.     Public.  Only parts should create SIHelper. The application shell should obtain
  35438. its copy of an ODSemanticInterface throughthe ODSession.
  35439.  
  35440. Override policy
  35441.     Derived class cannot override.
  35442.     Derived class cannot call base class behavior, during derived class behavior.
  35443.  
  35444. Basic operation
  35445. Initialize the fields object.
  35446.  
  35447. Inputs
  35448. None.
  35449.  
  35450. Outputs
  35451. None
  35452.  
  35453. Exceptions Signalled
  35454. None.
  35455.  
  35456. Pre conditions
  35457. None.
  35458.  
  35459. Post conditions
  35460. Object is instantiated.
  35461.  
  35462. æKY ODSIHelperAbs::~SIHelper
  35463. SIHelperAbs::~SIHelper
  35464. SIHelperAbs->~SIHelper
  35465. æT Class Method
  35466. æD ~SIHelper();
  35467.  
  35468. æC Protection
  35469.     Public.  
  35470.  
  35471. Override policy
  35472.     Derived class cannot override.
  35473.     Derived class cannot call base class behavior, during derived class behavior.
  35474.  
  35475. Basic operation
  35476. Destroy the object
  35477.  
  35478. Inputs
  35479. None
  35480.  
  35481. Outputs
  35482. None
  35483.  
  35484. Exceptions Signalled
  35485. None.
  35486.  
  35487. Pre conditions
  35488. None.
  35489.  
  35490. Post conditions
  35491. Object is destroyed.
  35492.  
  35493.  
  35494. æKY ODStorageSystemHelp
  35495. ODStorageSystem
  35496. StorageSystem
  35497. æKL ODStorageSystem::CreateContainer
  35498. ODStorageSystem::CreatePlatformTypeList
  35499. ODStorageSystem::CreateTypeList
  35500. ODStorageSystem::GetContainer
  35501. ODStorageSystem::GetSession
  35502. ODStorageSystem::GrowHeap
  35503. ODStorageSystem::InitStorageSystem
  35504. ODStorageSystem::NeedSpace
  35505. ODStorageSystem::ODAbsStorageSystem
  35506. ODStorageSystem::Purge
  35507. ODStorageSystem::ReleaseContainer
  35508. ODStorageSystem::~ODAbsStorageSystem
  35509. ODStorageSystem::fContainers
  35510. ODStorageSystem::fHeap
  35511. ODStorageSystem::fSession
  35512. æC Basic Class Documentation
  35513. When a OpenDoc session is launched, it creates a bunch of objects
  35514. which are global for that session, one of these is an ODStorageSystem
  35515. object.When the OpenDoc session ends, this ODStorageSystem object is
  35516. deleted.
  35517. The class documented here (ODAbsStorageSystem)  is the abstract base
  35518. class for any ODStorageSystem. Platform Implementors should subclass
  35519. ODAbsStorageSystem to provide the functionality of the OpenDoc Storage
  35520. System on their platforms.
  35521.  
  35522. Theory of Operation
  35523. This class is instantiated only by ODSession. There is only one
  35524. ODStorageSystem object per session.
  35525. The ODStorageSystem object is purely an in-memory object, and has no
  35526. persistent state.
  35527. Containers are created and retrieved by calling CreateContainer and
  35528. GetContainer of the ODStorageSystem object.  
  35529. The ODContainer objects in turn provide access to Documents, which
  35530. provide access to Drafts which provide access to Storage Units.
  35531. The ODStorageSystem object is responsible for guaranteeing that there
  35532. is only one ODContainer object associated with each physical
  35533. Container. Each Container is responsible for guaranteeing that there
  35534. is only one ODDocument object associated with each Document within it.
  35535. Each Document is responsible for guaranteeing that there is only one
  35536. ODDraft objectassociated with each Draft within it. Each Draft  in
  35537. turn is responsible for guaranteeing that there is only
  35538. oneODStorageUnit objectassociated with each StorageUnit, Part, Frame,
  35539. LinkSource and Link  within it.
  35540.  
  35541. Invariants Maintained by Class
  35542. There is at most one ODContainer object for every  ODContainerType,
  35543. ODContainerID tuple requested via GetContainer or CreateContainer.
  35544. Until a requested Container has been Released, the ODContainer object
  35545. will be valid. After a requested Container has been Released, the
  35546. ODContainer object which referred to that Container is not valid.
  35547. It is the responsibility of ODStorageSystem to maintain these
  35548. invariants, not ODContainer, since ODStorageSystem maintains the
  35549. collection of ODContainers.
  35550. æKY ODStorageSystem::CreateContainer
  35551. StorageSystem::CreateContainer
  35552. StorageSystem->CreateContainer
  35553. æT Class Method
  35554. æD ODContainer* CreateContainer(
  35555. ODContainerType containerType,
  35556. ODContainerID id);
  35557.  
  35558. æC Protection
  35559.     Public.  Called by Shell or Container App to create a new OpenDoc Container.
  35560.  
  35561. Override policy
  35562.     Derived class must override.
  35563.     Derived class cannot call base class behavior, before derived class behavior.
  35564.  
  35565. Basic operation
  35566. Create a new container which corresponds to the given containerType
  35567. and id.
  35568. See GetContainer() for more information on id and containerType.
  35569.  
  35570. Inputs
  35571. id
  35572.     a pointer to a container brand specific structure in memory
  35573. containerType
  35574.     a general type of container
  35575.  
  35576. Outputs
  35577. <return>
  35578.     A fully functional ODContainer object which refers to the Container of
  35579. the given containType and id.
  35580.  
  35581. Exceptions Signalled
  35582. kODInvalidContainerID
  35583.     Invalid Container ID.
  35584. kODCannotCreateContainer
  35585.     Invalid Container Type.
  35586.  
  35587. Pre conditions
  35588. None.
  35589.  
  35590. Post conditions
  35591. None.
  35592.  
  35593. æKY ODStorageSystem::CreatePlatformTypeList
  35594. StorageSystem::CreatePlatformTypeList
  35595. StorageSystem->CreatePlatformTypeList
  35596. æT Class Method
  35597. æD ODPlatformTypeList    CreatePlatformTypeList(
  35598. in ODPlatformTypeList typeList);
  35599.  
  35600. æC Protection
  35601.     Public.  
  35602.  
  35603. Override policy
  35604.     Derived class can override.
  35605.     Derived class can call base class behavior, before derived class behavior.
  35606.  
  35607. Basic operation
  35608. This function creates an empty ODPlatformTypeList if typeList is
  35609. kODNULL. If typeList is not kODNULL, this function will return a copy
  35610. of the typeList.
  35611.  
  35612. Inputs
  35613. typeList
  35614.     platformTypeList to be duplicated
  35615.  
  35616. Outputs
  35617. <return>
  35618.     PlatformTypeList
  35619.  
  35620. Exceptions Signalled
  35621. None.
  35622.  
  35623. Pre conditions
  35624. None.
  35625.  
  35626. Post conditions
  35627. None.
  35628.  
  35629. æKY ODStorageSystem::CreateTypeList
  35630. StorageSystem::CreateTypeList
  35631. StorageSystem->CreateTypeList
  35632. æT Class Method
  35633. æD ODTypeList    CreateTypeList(
  35634. in ODTypeList typeList);
  35635.  
  35636. æC Protection
  35637.     Public.  
  35638.  
  35639. Override policy
  35640.     Derived class can override.
  35641.     Derived class can call base class behavior, before derived class behavior.
  35642.  
  35643. Basic operation
  35644. This function creates an empty ODTypeList if typeList is kODNULL. If
  35645. typeList is not kODNULL, this function will return a copy of the
  35646. typeList.
  35647.  
  35648. Inputs
  35649. typeList
  35650.     type list to be duplicated (if not kODNULL).
  35651.  
  35652. Outputs
  35653. <return>
  35654.     Type List
  35655.  
  35656. Exceptions Signalled
  35657. None.
  35658.  
  35659. Pre conditions
  35660. None.
  35661.  
  35662. Post conditions
  35663. None.
  35664.  
  35665. æKY ODStorageSystem::GetContainer
  35666. StorageSystem::GetContainer
  35667. StorageSystem->GetContainer
  35668. æT Class Method
  35669. æD ODContainer* GetContainer(
  35670. ODContainerType containerType,
  35671. ODContainerID id);
  35672.  
  35673. æC Protection
  35674.     Public.  Called by the Shell or Container App when it needs to open an OpenDoc
  35675. document.
  35676.  
  35677. Override policy
  35678.     Derived class must override.
  35679.     Derived class cannot call base class behavior, before derived class behavior.
  35680.  
  35681. Basic operation
  35682. Returns a ODContainer object which refers to the container of the
  35683. specified containerType and with the specified id.
  35684. ODContainerID is a 32-bit value and is only used by the ODContainer
  35685. object. Therefore,  its format is completely opaque to the Storage
  35686. System. Typically, it is a pointer to a container brand specific
  35687. structure in memory (e.g., FileSpec).
  35688.  
  35689. Inputs
  35690. id
  35691.     ID of the desired Container.
  35692. containerType
  35693.     Type of the desired Container.
  35694.  
  35695. Outputs
  35696. <return>
  35697.     A fully functional ODContainer object which refers to the Container of
  35698. the given containType and id.
  35699.  
  35700. Exceptions Signalled
  35701. kODInvalidContainerID
  35702.     Invalid Container ID.
  35703. kODCannotGetContainer
  35704.     Invalid Container Type.
  35705.  
  35706. Pre conditions
  35707. None.
  35708.  
  35709. Post conditions
  35710. None.
  35711.  
  35712. æKY ODStorageSystem::GetSession
  35713. StorageSystem::GetSession
  35714. StorageSystem->GetSession
  35715. æT Class Method
  35716. æD ODSession*  GetSession();
  35717.  
  35718. æC Protection
  35719.     Public.  Parts can call this method even though they should really be calling
  35720. ODStorageUnit::GetSession().
  35721.  
  35722. Override policy
  35723.     Derived class must override.
  35724.     Derived class cannot call base class behavior, during derived class behavior.
  35725.  
  35726. Basic operation
  35727. Returns the current ODSession object.
  35728.  
  35729. Inputs
  35730. none
  35731.  
  35732. Outputs
  35733. <return>
  35734.     ODBaseSession in which this ODStorageSystem runs.
  35735.  
  35736. Exceptions Signalled
  35737. None.
  35738.  
  35739. Pre conditions
  35740. None.
  35741.  
  35742. Post conditions
  35743. None.
  35744.  
  35745. æKY ODStorageSystem::GrowHeap
  35746. StorageSystem::GrowHeap
  35747. StorageSystem->GrowHeap
  35748. æT Class Method
  35749. æD void GrowHeap(
  35750. ODSize memSize);
  35751.  
  35752. æC Protection
  35753.     Protected.  This is only called by ODAbsStorageSystem::NeedSpace.
  35754.  
  35755. Override policy
  35756.     Derived class must override.
  35757.     Derived class cannot call base class behavior, during derived class behavior.
  35758.  
  35759. Basic operation
  35760. Grows the heap by memSize.
  35761.  This call does not guarantee to grow the heap by the requested size.
  35762.  
  35763. Inputs
  35764. memSize
  35765.     Number of bytes by which the heap should grow.
  35766.  
  35767. Outputs
  35768. none
  35769.  
  35770. Exceptions Signalled
  35771. None.
  35772.  
  35773. Pre conditions
  35774. None.
  35775.  
  35776. Post conditions
  35777. The heap has grown by memSize, or to the biggest size it can be,
  35778. whichever is smaller.
  35779.  
  35780. æKY ODStorageSystem::InitStorageSystem
  35781. StorageSystem::InitStorageSystem
  35782. StorageSystem->InitStorageSystem
  35783. æT Class Method
  35784. æD void InitStorageSystem();
  35785.  
  35786. æC Protection
  35787.     Public.  Private between ODSession and ODStorageSystem.
  35788. This method should only be called by ODSession::InitSession.
  35789.  
  35790. Override policy
  35791.     Derived class must override.
  35792.     Derived class cannot call base class behavior, during derived class behavior.
  35793.  
  35794. Basic operation
  35795. Initializes this ODStorageSystem object.
  35796.  
  35797. Inputs
  35798. none
  35799.  
  35800. Outputs
  35801. none
  35802.  
  35803. Exceptions Signalled
  35804. None.
  35805.  
  35806. Pre conditions
  35807. this is a valid ODStorageSystem object.
  35808.  
  35809. Post conditions
  35810. this is an initialized ODStorageSystem object.
  35811.  
  35812. æKY ODStorageSystem::NeedSpace
  35813. StorageSystem::NeedSpace
  35814. StorageSystem->NeedSpace
  35815. æT Class Method
  35816. æD void NeedSpace(
  35817. ODSize memSize,
  35818. ODBoolean doPurge);
  35819.  
  35820. æC Protection
  35821.     Public.  This method can be called by any class. However, it should be used
  35822. cautiously as this may be a slow operation.
  35823.  
  35824. Override policy
  35825.     Derived class must override.
  35826.     Derived class cannot call base class behavior, during derived class behavior.
  35827.  
  35828. Basic operation
  35829. This is called to check for or preflight some memory, i.e. This should
  35830. be called when an object anticipates the usage of a large memory
  35831. block. It can also be used as a maintainence call for cleaning up the
  35832. heap.
  35833. doPurge indicates whether or not this object should try to purge
  35834. memory. This is done by calling Purge on its ODContainers and
  35835. transitively their ODDocuments, ODDrafts and persistent objects and
  35836. ODStorageUnits .
  35837. This call is not guaranteed to generate the memory requested.
  35838.  
  35839. Inputs
  35840. memSize
  35841.     size of memory block desired  
  35842. doPurge
  35843.     whether or not to purge if necessary   
  35844.  
  35845. Outputs
  35846. none
  35847.  
  35848. Exceptions Signalled
  35849. None.
  35850.  
  35851. Pre conditions
  35852. None.
  35853.  
  35854. Post conditions
  35855. None.
  35856.  
  35857. æKY ODStorageSystem::ODAbsStorageSystem
  35858. StorageSystem::ODAbsStorageSystem
  35859. StorageSystem->ODAbsStorageSystem
  35860. æT Class Method
  35861. æD ODAbsStorageSystem(
  35862. ODBaseSession* session,
  35863. ODHeap heap);
  35864.  
  35865. æC Protection
  35866.     Public.  This method is only called by ODSession::InitSession.
  35867.  
  35868. Override policy
  35869.     Derived class must override.
  35870.     Derived class must call base class behavior, before derived class behavior.
  35871.  
  35872. Basic operation
  35873. This method is the constructor of the class.
  35874.  
  35875. Inputs
  35876. session
  35877.     the ODSession object for this OpenDoc session
  35878. heap
  35879.     the heap for this session
  35880.  
  35881. Outputs
  35882. None.
  35883.  
  35884. Exceptions Signalled
  35885. None.
  35886.  
  35887. Pre conditions
  35888. None.
  35889.  
  35890. Post conditions
  35891. None.
  35892.  
  35893. æKY ODStorageSystem::Purge
  35894. StorageSystem::Purge
  35895. StorageSystem->Purge
  35896. æT Class Method
  35897. æD ODSize Purge(
  35898. ODSize size);
  35899.  
  35900. æC Protection
  35901.     Protected.  This is only called by ODAbsStorageSystem::NeedSpace.
  35902.  
  35903. Override policy
  35904.     Derived class must override.
  35905.     Derived class cannot call base class behavior, during derived class behavior.
  35906.  
  35907. Basic operation
  35908. Purge memory from ephemeral store until size bytes (not necessarily
  35909. contiguous) have been freed up.
  35910.  
  35911. Inputs
  35912. size
  35913.     Desired number of bytes to purge.
  35914.  
  35915. Outputs
  35916. <return>
  35917.     Number of bytes actually purged
  35918.  
  35919. Exceptions Signalled
  35920. None.
  35921.  
  35922. Pre conditions
  35923. None.
  35924.  
  35925. Post conditions
  35926. There are at least size bytes (not necessarily contiguous) free in the
  35927. heap or Purge() has been called on every ODContainer in this
  35928. ODStorageSystem.
  35929.  
  35930. æKY ODStorageSystem::ReleaseContainer
  35931. StorageSystem::ReleaseContainer
  35932. StorageSystem->ReleaseContainer
  35933. æT Class Method
  35934. æD ODStorageSystem* ReleaseContainer(
  35935. ODContainer* container);
  35936.  
  35937. æC Protection
  35938.     Public.  Private between ODStorageSystem and ODContainer. This method should
  35939. only be called by ODContainer::Release.
  35940.  
  35941. Override policy
  35942.     Derived class must override.
  35943.     Derived class cannot call base class behavior, before derived class behavior.
  35944.  
  35945. Basic operation
  35946. Releases the specified ODContainer object.
  35947.  
  35948. Inputs
  35949. container
  35950.     the container to be released
  35951.  
  35952. Outputs
  35953. <return>
  35954.     this
  35955.  
  35956. Exceptions Signalled
  35957. None.
  35958.  
  35959. Pre conditions
  35960. container is a valid ODContainer object which was obtained via either
  35961. GetContainer or CreateContainer.
  35962.  
  35963. Post conditions
  35964. container is no longer a valid ODContainer object.
  35965.  
  35966. æKY ODStorageSystem::~ODAbsStorageSystem
  35967. StorageSystem::~ODAbsStorageSystem
  35968. StorageSystem->~ODAbsStorageSystem
  35969. æT Class Method
  35970. æD ~ODAbsStorageSystem();
  35971.  
  35972. æC Protection
  35973.     Public.  Private between ODSession and ODStorageSystem. This method is only
  35974. called by ODSession::~ODSession.
  35975.  
  35976. Override policy
  35977.     Derived class must override.
  35978.     Derived class must call base class behavior, after derived class behavior.
  35979.  
  35980. Basic operation
  35981. This is the destructor of the class.
  35982.  
  35983. Inputs
  35984. none
  35985.  
  35986. Outputs
  35987. none
  35988.  
  35989. Exceptions Signalled
  35990. None.
  35991.  
  35992. Pre conditions
  35993. None.
  35994.  
  35995. Post conditions
  35996. None.
  35997.  
  35998. æKY ODStorageSystem::fContainers
  35999. StorageSystem::fContainers
  36000. æT Class Field
  36001. æD LinkedList*
  36002. æC Persistent form
  36003. None.
  36004.  
  36005. æKY ODStorageSystem::fHeap
  36006. StorageSystem::fHeap
  36007. æT Class Field
  36008. æD ODHeap
  36009. æC Persistent form
  36010. None.
  36011.  
  36012. æKY ODStorageSystem::fSession
  36013. StorageSystem::fSession
  36014. æT Class Field
  36015. æD ODSession*
  36016. æC 
  36017.  
  36018. æKY ODStorageUnitHelp
  36019. ODStorageUnit
  36020. StorageUnit
  36021. æKL ODStorageUnit::ODStorageUnit
  36022. ODStorageUnit::~ODStorageUnit
  36023. ODStorageUnit::AddProperty
  36024. ODStorageUnit::AddValue
  36025. ODStorageUnit::ClearAllPromises
  36026. ODStorageUnit::CloneInto
  36027. ODStorageUnit::CopyTo
  36028. ODStorageUnit::CountProperties
  36029. ODStorageUnit::CountValues
  36030. ODStorageUnit::CreateCursor
  36031. ODStorageUnit::CreateCursorWithFocus
  36032. ODStorageUnit::CreateStorageUnitRefIterator
  36033. ODStorageUnit::CreateView
  36034. ODStorageUnit::DeleteValue
  36035. ODStorageUnit::Exists
  36036. ODStorageUnit::ExistsWithCursor
  36037. ODStorageUnit::Externalize
  36038. ODStorageUnit::Focus
  36039. ODStorageUnit::Focus
  36040. ODStorageUnit::GetDraft
  36041. ODStorageUnit::GetGenerationNumber
  36042. ODStorageUnit::GetID
  36043. ODStorageUnit::GetIDFromStorageUnitRef
  36044. ODStorageUnit::GetName
  36045. ODStorageUnit::GetOffset
  36046. ODStorageUnit::GetPromiseValue
  36047. ODStorageUnit::GetProperty
  36048. ODStorageUnit::GetSession
  36049. ODStorageUnit::GetSize
  36050. ODStorageUnit::GetStorageUnitRefIterator
  36051. ODStorageUnit::GetStrongStorageUnitRef
  36052. ODStorageUnit::GetType
  36053. ODStorageUnit::GetValue
  36054. ODStorageUnit::GetWeakStorageUnitRef
  36055. ODStorageUnit::IncrementGenerationNumber
  36056. ODStorageUnit::IncrementRefCount
  36057. ODStorageUnit::InitStorageUnit
  36058. ODStorageUnit::InsertValue
  36059. ODStorageUnit::Internalize
  36060. ODStorageUnit::IsPromiseValue
  36061. ODStorageUnit::IsStrongStorageUnitRef
  36062. ODStorageUnit::IsValidStorageUnitRef
  36063. ODStorageUnit::IsWeakStorageUnitRef
  36064. ODStorageUnit::Lock
  36065. ODStorageUnit::Purge
  36066. ODStorageUnit::Release
  36067. ODStorageUnit::Remove
  36068. ODStorageUnit::RemoveStorageUnitRef
  36069. ODStorageUnit::ResolveAllPromises
  36070. ODStorageUnit::SetName
  36071. ODStorageUnit::SetOffset
  36072. ODStorageUnit::SetPromiseValue
  36073. ODStorageUnit::SetType
  36074. ODStorageUnit::SetValue
  36075. ODStorageUnit::Unlock
  36076. ODStorageUnit::fCurProperty
  36077. ODStorageUnit::fCurValueIndex
  36078. ODStorageUnit::fCurValueType
  36079. ODStorageUnit::fDoesAutoResolve
  36080. ODStorageUnit::fDraft
  36081. ODStorageUnit::fHasPropertyLooped
  36082. ODStorageUnit::fHasValueLooped
  36083. ODStorageUnit::fID
  36084. æC Basic Class Documentation
  36085. A StorageUnit is the basic unit of persistent storage.  It contains a
  36086. list of properties, each of which has a unique name within the Storage
  36087. Unit, and an ordered list of Values. ODStorageUnit is used to
  36088. manipulate a Storage Unit.
  36089. To keep clean and minimize the api, a set of common functions which
  36090. can apply to the entire StorageUnit, a particular property, or a
  36091. particular value have been abstracted out.
  36092. The class documented here is a abstract base class. Container Suite
  36093. implementors should subclass this class to provide the functionality
  36094. of a OpenDoc Storage Unit for their Container Suite. (For definition
  36095. of Container Suite, please refer to documentation on ODContainer).
  36096. Note: ODStorageUnitView is almost identical to ODStorageUnit, except
  36097. that it has a fixed focus which is set upon creation of the
  36098. ODStorageUnitView object.
  36099.  
  36100. ODStorageUnit is only instantiated by ODDraft of the same Container
  36101. Suite. When a Part or the Container App needs a Storage Unit, it will
  36102. call ODDraft::CreateStorage or ODDraft::GetStorageUnit.
  36103.  
  36104. Theory of Operation
  36105. Properties and Values within a StorageUnit are not represented by
  36106. objects.  To indicate the context for calls which assume the context
  36107. of the entire StorageUnit, a particular property, or a particular
  36108. value, one uses the Focus method. Focusing can be absolute by passing
  36109. a particular property name or value index, or relative by passing in
  36110. positioncodes.
  36111. When focussed to a particular value, the StorageUnit provides a stream
  36112. interface to that value.
  36113. This class is derived from ODRefCntObject. A ODStorageUnit object is
  36114. instantiated when CreateStorageUnit or GetStorageUnit is called on its
  36115. corresponding ODDraft. When ODStorageUnit is first constructed, its
  36116. refCount is 1. Every time ODDraft::GetStorageUnit is called on the
  36117. same Storage Unit, the refCount of the ODDraft object is incremented
  36118. by 1. When ODStorageUnit object is no longer needed,
  36119. ODStorageUnit::Release should be called.   
  36120. The ODDraft object is responsible for guaranteeing that there is only
  36121. one ODStorageUnit object
  36122. associated with each Storage Unit or persistent object within it.
  36123. A Property/Value combination is usually referred to as a context. When
  36124. a context is applied to a ODStorageUnit, this context is specifically
  36125. called a focus. Many ODStorageUnit operations require the
  36126. establishment of a focus.
  36127. If a ODStorageUnit is focused to a Value, the ODStorageUnit also has a
  36128. current offset. When the ODStorageUnit is refocused (either to the
  36129. same Value or to another Value), the current offset is reset to 0.
  36130. Storage Units can maintain persistent references to each other. These
  36131. references are created and resolved using special ODStorageUnit
  36132. methods.
  36133.  
  36134. Invariants Maintained by Class
  36135. The focus of a StorageUnit is conserved over all methods except Focus,
  36136. Remove and Add(Property/Value), which changes the focus to the
  36137. (Property/Value) which was just added.
  36138. æKY ODStorageUnit::ODStorageUnit
  36139. StorageUnit::ODStorageUnit
  36140. StorageUnit->ODStorageUnit
  36141. æT Class Method
  36142. æD ODStorageUnit();
  36143.  
  36144. æC Protection
  36145.     Public.  Private within Container Suite. This method should only be called by
  36146. ODDraft::CreateStorageUnit or ODDraft::GetStorageUnit.
  36147.  
  36148. Override policy
  36149.     Derived class must override.
  36150.     Derived class must call base class behavior.
  36151.  
  36152. Basic operation
  36153. This method is the constructor of the class.
  36154.  
  36155. Inputs
  36156. None.
  36157.  
  36158. Outputs
  36159. <return>
  36160.     this
  36161.  
  36162. Exceptions Signalled
  36163. None.
  36164.  
  36165. Pre conditions
  36166. None.
  36167.  
  36168. Post conditions
  36169. The return result is an uninitialized ODStorageUnit object.
  36170.  
  36171. æKY ODStorageUnit::~ODStorageUnit
  36172. StorageUnit::~ODStorageUnit
  36173. StorageUnit->~ODStorageUnit
  36174. æT Class Method
  36175. æD ~ODStorageUnit();
  36176.  
  36177. æC Protection
  36178.     Public.  Private within Container Suite. This method should only be called by
  36179. ODDraft.
  36180.  
  36181. Override policy
  36182.     Derived class must override.
  36183.     Derived class must call base class behavior.
  36184.  
  36185. Basic operation
  36186. This method is the destructor of the class. Note that it does not
  36187. externalize the ODStorageUnit object.
  36188.  
  36189. Inputs
  36190. none
  36191.  
  36192. Outputs
  36193. none
  36194.  
  36195. Exceptions Signalled
  36196. None.
  36197.  
  36198. Pre conditions
  36199. None.
  36200.  
  36201. Post conditions
  36202. this is no longer a valid ODStorageUnit object.
  36203.  
  36204. æKY ODStorageUnit::AddProperty
  36205. StorageUnit::AddProperty
  36206. StorageUnit->AddProperty
  36207. æT Class Method
  36208. æD ODStorageUnit* AddProperty(
  36209. ODPropertyName propertyName);
  36210.  
  36211. æC Protection
  36212.     Public.  
  36213.  
  36214. Override policy
  36215.     Derived class must override.
  36216.     Derived class cannot call base class behavior.
  36217.  
  36218. Basic operation
  36219. If no property with the same name exist in this storage unit, it is
  36220. added.
  36221. The focus is set to the given property.
  36222.  
  36223. Inputs
  36224. propertyName
  36225.     Name of the property to add
  36226.  
  36227. Outputs
  36228. <return>
  36229.     this
  36230.  
  36231. Exceptions Signalled
  36232. kODErrInvalidPropertyName
  36233.     propertyName is kODNULL 
  36234. kODErrCannotAddProperty
  36235.     Failure to add the given Property.
  36236.  
  36237. Pre conditions
  36238. A Property with the given name may or may not exist in the Storage
  36239. Unit.
  36240.  
  36241. Post conditions
  36242. ODStorageUnit is focused to the Property of the given name.
  36243.  
  36244. æKY ODStorageUnit::AddValue
  36245. StorageUnit::AddValue
  36246. StorageUnit->AddValue
  36247. æT Class Method
  36248. æD ODStorageUnit* AddValue(
  36249. ODValueType type);
  36250.  
  36251. æC Protection
  36252.     Public.  
  36253.  
  36254. Override policy
  36255.     Derived class must override.
  36256.     Derived class cannot call base class behavior.
  36257.  
  36258. Basic operation
  36259. If a Value with the given type does not exist in the property
  36260. currently focused to, a Value with the given type is added.
  36261. The focus is set to the Value of the given type.
  36262.  
  36263. Inputs
  36264. type
  36265.     type of value to add
  36266.  
  36267. Outputs
  36268. <return>
  36269.     this
  36270.  
  36271. Exceptions Signalled
  36272. kODErrValueExists
  36273.     Value exists alreday.
  36274. kODErrUnfocusedStorageUnit
  36275.     This ODStorageUnit is not focused to a Property.
  36276. kODErrInvalidType
  36277.     type is kODNULL.
  36278. kODErrCannotAddType
  36279.     Cannot add Type to Storage Unit. 
  36280.  
  36281. Pre conditions
  36282. this ODStorageUnit must be focused to a Property.
  36283. The given type may or may not exist in the focused Proeprty.
  36284.  
  36285. Post conditions
  36286. ODStorageUnit is focused to the Value with the given type.
  36287.  
  36288. æKY ODStorageUnit::ClearAllPromises
  36289. StorageUnit::ClearAllPromises
  36290. StorageUnit->ClearAllPromises
  36291. æT Class Method
  36292. æD void        ClearAllPromises();
  36293.  
  36294. æC Protection
  36295.     Public.  
  36296.  
  36297. Override policy
  36298.     Derived class must override.
  36299.     Derived class cannot call base class behavior.
  36300.  
  36301. Basic operation
  36302. Removes all Values containing promises from this Storage Unit.
  36303.  
  36304. Inputs
  36305. None.
  36306.  
  36307. Outputs
  36308. None.
  36309.  
  36310. Exceptions Signalled
  36311. None.
  36312.  
  36313. Pre conditions
  36314. None.
  36315.  
  36316. Post conditions
  36317. None.
  36318.  
  36319. æKY ODStorageUnit::CloneInto
  36320. StorageUnit::CloneInto
  36321. StorageUnit->CloneInto
  36322. æT Class Method
  36323. æD void   CloneInto(
  36324. ODDraftKey key,
  36325. ODStorageUnit* destStorageUnit,
  36326. ODID scopeID);
  36327.  
  36328. æC Protection
  36329.     Public.  
  36330.  
  36331. Override policy
  36332.     Derived class must override.
  36333.     Derived class cannot call base class behavior.
  36334.  
  36335. Basic operation
  36336. Deep-copy all Properties and Values of this Storage Unit to the
  36337. specified destStorageUnit.
  36338. In order to avoid copying extra Storage Units during the deep-copy, an
  36339. scopeID may be specified. If scopeID is not 0, only those Storage
  36340. Units reachable from the object or storage unit with scopeID will be
  36341. copied. If initiatingFrameSU is 0, all the Storage Units reachable
  36342. from this Object or Storage Unit will be copied.
  36343. Note that the actual copying may not be completed until after EndClone
  36344. is finished.
  36345.  
  36346. Inputs
  36347. key
  36348.     ODDraftKey identifying the Clone transaction. 
  36349. destStorageUnit
  36350.     Destination Storage Unit
  36351. scopeID
  36352.     All Storage Units cloned from this point on should be within the scope
  36353. of this object or storage unit. 
  36354.  
  36355. Outputs
  36356. none
  36357.  
  36358. Exceptions Signalled
  36359. kODErrCloneNotStarted
  36360.     A Clone was started unsuccessfully.
  36361. kODErrInvalidDraftKey
  36362.     Invalid Clone.
  36363.  
  36364. Pre conditions
  36365. None.
  36366.  
  36367. Post conditions
  36368. None.
  36369.  
  36370. æKY ODStorageUnit::CopyTo
  36371. StorageUnit::CopyTo
  36372. StorageUnit->CopyTo
  36373. æT Class Method
  36374. æD void   CopyTo(
  36375. ODStorageUnit* toSU);
  36376.  
  36377. æC Protection
  36378.     Public.  
  36379.  
  36380. Override policy
  36381.     Derived class must override.
  36382.     Derived class cannot call base class behavior.
  36383.  
  36384. Basic operation
  36385. Shallow Copy (i.e., one-level) properties and values of this
  36386. storageUnit to the given toSU.
  36387.  
  36388. Inputs
  36389. toSU
  36390.     the storage unit from which data is to be copied
  36391.  
  36392. Outputs
  36393. none
  36394.  
  36395. Exceptions Signalled
  36396. None.
  36397.  
  36398. Pre conditions
  36399. None.
  36400.  
  36401. Post conditions
  36402. All properties and values in this ODStorageUnit have their respective
  36403. values in toSU.
  36404.  
  36405. æKY ODStorageUnit::CountProperties
  36406. StorageUnit::CountProperties
  36407. StorageUnit->CountProperties
  36408. æT Class Method
  36409. æD ODULong CountProperties();
  36410.  
  36411. æC Protection
  36412.     Public.  
  36413.  
  36414. Override policy
  36415.     Derived class must override.
  36416.     Derived class cannot call base class behavior.
  36417.  
  36418. Basic operation
  36419. Returns the number of Properties in this ODStorageUnit.
  36420.  
  36421. Inputs
  36422. None
  36423.  
  36424. Outputs
  36425. <return>
  36426.     Number or Properties in this ODStorageUnit.
  36427.  
  36428. Exceptions Signalled
  36429. None.
  36430.  
  36431. Pre conditions
  36432. None.
  36433.  
  36434. Post conditions
  36435. None.
  36436.  
  36437. æKY ODStorageUnit::CountValues
  36438. StorageUnit::CountValues
  36439. StorageUnit->CountValues
  36440. æT Class Method
  36441. æD ODULong CountValues();
  36442.  
  36443. æC Protection
  36444.     Public.  
  36445.  
  36446. Override policy
  36447.     Derived class must override.
  36448.     Derived class cannot call base class behavior.
  36449.  
  36450. Basic operation
  36451. Returns the number of Values in this focused ODStorageUnit.
  36452.  
  36453. Inputs
  36454. None
  36455.  
  36456. Outputs
  36457. <return>
  36458.     Number or Values in this focused ODStorageUnit.
  36459.  
  36460. Exceptions Signalled
  36461. kODErrUnfocusedStorageUnit
  36462.     This ODStorageUnit is not focused to a Property.
  36463.  
  36464. Pre conditions
  36465. This ODStorageUnit must be focused to a Property or a Value.
  36466.  
  36467. Post conditions
  36468. None.
  36469.  
  36470. æKY ODStorageUnit::CreateCursor
  36471. StorageUnit::CreateCursor
  36472. StorageUnit->CreateCursor
  36473. æT Class Method
  36474. æD ODStorageUnitCursor CreateCursor(
  36475. in ODPropertyName propertyName,
  36476. in ODValueType valueType,
  36477. in ODValueIndex valueIndex);
  36478.  
  36479. æC Protection
  36480.     Public.  
  36481.  
  36482. Override policy
  36483.     Derived class must override.
  36484.     Derived class cannot call base class behavior.
  36485.  
  36486. Basic operation
  36487. This method creates a ODStorageUnitCursor according to the input
  36488. parameters.
  36489.  
  36490. Inputs
  36491. propertyName
  36492.     propertyName
  36493. valueType
  36494.     valueType
  36495. valueIndex
  36496.     valueIndex
  36497.  
  36498. Outputs
  36499. <return>
  36500.     ODStorageUnitCursor.
  36501.  
  36502. Exceptions Signalled
  36503. None.
  36504.  
  36505. Pre conditions
  36506. None.
  36507.  
  36508. Post conditions
  36509. None.
  36510.  
  36511. æKY ODStorageUnit::CreateCursorWithFocus
  36512. StorageUnit::CreateCursorWithFocus
  36513. StorageUnit->CreateCursorWithFocus
  36514. æT Class Method
  36515. æD ODStorageUnitCursor* CreateCursorWithFocus();
  36516.  
  36517. æC Protection
  36518.     Public.  
  36519.  
  36520. Override policy
  36521.     Derived class must override.
  36522.     Derived class cannot call base class behavior.
  36523.  
  36524. Basic operation
  36525. Creates a ODCursor object from the current focus of this ODStorageUnit
  36526. and returns it.
  36527.  
  36528. Inputs
  36529. none
  36530.  
  36531. Outputs
  36532. <return>
  36533.     a newly created storageUnitCursor
  36534.  
  36535. Exceptions Signalled
  36536. kODErrUnfocusedStorageUnit
  36537.     This ODStorageUnit is not focused to a Property or a Value.
  36538.  
  36539. Pre conditions
  36540. None.
  36541.  
  36542. Post conditions
  36543. The returned ODStorageUnitCursor object contains the same context as
  36544. this ODStorageUnit object.
  36545.  
  36546. æKY ODStorageUnit::CreateStorageUnitRefIterator
  36547. StorageUnit::CreateStorageUnitRefIterator
  36548. StorageUnit->CreateStorageUnitRefIterator
  36549. æT Class Method
  36550. æD ODStorageUnitRefIterator*  CreateStorageUnitRefIterator();
  36551.  
  36552. æC Protection
  36553.     Public.  
  36554.  
  36555. Override policy
  36556.     Derived class must override.
  36557.     Derived class must call base class behavior.
  36558.  
  36559. Basic operation
  36560. This function creates a ODStorageUnitRefIterator for the focused
  36561. value. The returned ODStorageUnitRefIterator can be used to iterate
  36562. through all the ODStorageUnitRef in the value.
  36563.  
  36564. Inputs
  36565. None.
  36566.  
  36567. Outputs
  36568. <return>
  36569.     ODStorageUnitRefIterator for the focused value.
  36570.  
  36571. Exceptions Signalled
  36572. None.
  36573.  
  36574. Pre conditions
  36575. The storage unit must be focused to a value.
  36576.  
  36577. Post conditions
  36578. None.
  36579.  
  36580. æKY ODStorageUnit::CreateView
  36581. StorageUnit::CreateView
  36582. StorageUnit->CreateView
  36583. æT Class Method
  36584. æD ODStorageUnitView* CreateView();
  36585.  
  36586. æC Protection
  36587.     Public.  
  36588.  
  36589. Override policy
  36590.     Derived class must override.
  36591.     Derived class cannot call base class behavior.
  36592.  
  36593. Basic operation
  36594. This method uses this ODStorageUnit and the focus of this
  36595. ODStorageUnit to create a new ODStorageUnitView object.
  36596. The new ODStorageUnitView object is returned as the function result.
  36597.  
  36598. Inputs
  36599. None.
  36600.  
  36601. Outputs
  36602. <return>
  36603.     a StorageUnitView of this unit and the given curosr or the focus of
  36604. this unit
  36605.  
  36606. Exceptions Signalled
  36607. None.
  36608.  
  36609. Pre conditions
  36610. None.
  36611.  
  36612. Post conditions
  36613. The returned ODStorageUnitView represents the appropriate context of
  36614. this ODStorageUnit.
  36615.  
  36616. æKY ODStorageUnit::DeleteValue
  36617. StorageUnit::DeleteValue
  36618. StorageUnit->DeleteValue
  36619. æT Class Method
  36620. æD void   DeleteValue(
  36621. ODULong length);
  36622.  
  36623. æC Protection
  36624.     Public.  
  36625.  
  36626. Override policy
  36627.     Derived class must override.
  36628.     Derived class cannot call base class behavior.
  36629.  
  36630. Basic operation
  36631. Deletes length bytes at the current offset in the current value focus.
  36632.  If the focused Value is a Promise Value, the Promise is resolved
  36633. first before insertion is done.
  36634.  
  36635. Inputs
  36636. length
  36637.     the length of bytes to delete from the focussed value
  36638.  
  36639. Outputs
  36640. none
  36641.  
  36642. Exceptions Signalled
  36643. kODErrUnfocusedStorageUnit
  36644.     This ODStorageUnit is not focused to a Value.
  36645.  
  36646. Pre conditions
  36647. this ODStorageUnit object is focused to a particular value.
  36648.  
  36649. Post conditions
  36650. length bytes at the current offset in the current value focus have
  36651. been deleted.
  36652.  
  36653. æKY ODStorageUnit::Exists
  36654. StorageUnit::Exists
  36655. StorageUnit->Exists
  36656. æT Class Method
  36657. æD ODBoolean Exists(
  36658. ODPropertyName propertyName,
  36659. ODValueType valueType,
  36660. ODValueIndex valueIndex);
  36661.  
  36662. æC Protection
  36663.     Public.  
  36664.  
  36665. Override policy
  36666.     Derived class must override.
  36667.     Derived class cannot call base class behavior.
  36668.  
  36669. Basic operation
  36670. Returns kODTrue if a Property of the given Property Name exists and a
  36671. Value with the specified valueType or valueIndex exists in the
  36672. corresponding Property. Otherwise, returns kODFalse.
  36673. If valueType is kODNULL and valueIndex is 0, this method can be used
  36674. for testing the existence of Property only. 
  36675. valueIndex is ignored if valueType is not kODNULL.
  36676.  
  36677. Inputs
  36678. propertyName
  36679.     Name of a Property.
  36680. valueType
  36681.     Type of a Value.
  36682. valueIndex
  36683.     Value Index.
  36684.  
  36685. Outputs
  36686. <return>
  36687.     ODBoolean showing whether the specified Property and Value exists.
  36688.  
  36689. Exceptions Signalled
  36690. kODErrInvalidName
  36691.     Invalid Property Name. 
  36692. kODErrInvalidType
  36693.     Invalid Value Type.
  36694.  
  36695. Pre conditions
  36696. Property Name must be specified.
  36697.  
  36698. Post conditions
  36699. The focus of the ODStorageUnit is not changed.
  36700.  
  36701. æKY ODStorageUnit::ExistsWithCursor
  36702. StorageUnit::ExistsWithCursor
  36703. StorageUnit->ExistsWithCursor
  36704. æT Class Method
  36705. æD ODBoolean ExistsWithCursor(
  36706. ODStorageUnitCursor* cursor);
  36707.  
  36708. æC Protection
  36709.     Public.  
  36710.  
  36711. Override policy
  36712.     Derived class must override.
  36713.     Derived class cannot call base class behavior.
  36714.  
  36715. Basic operation
  36716. Returns kODTrue if the given context specified by the cursor exists.
  36717. Otherwise, returns kODFalse.
  36718.  
  36719. Inputs
  36720. cursor
  36721.     ODStorageUnitCursor specifying a context (Property and/or a Value.)
  36722.  
  36723. Outputs
  36724. <return>
  36725.     ODBoolean showing whether the specified Property and Value exists.
  36726.  
  36727. Exceptions Signalled
  36728. None.
  36729.  
  36730. Pre conditions
  36731. None.
  36732.  
  36733. Post conditions
  36734. The focus of the ODStorageUnit is not changed.
  36735.  
  36736. æKY ODStorageUnit::Externalize
  36737. StorageUnit::Externalize
  36738. StorageUnit->Externalize
  36739. æT Class Method
  36740. æD ODStorageUnit* Externalize();
  36741.  
  36742. æC Protection
  36743.     Public.  
  36744.  
  36745. Override policy
  36746.     Derived class must override.
  36747.     Derived class cannot call base class behavior.
  36748.  
  36749. Basic operation
  36750. Resolves all promises in this ODStorageUnit and makes all changes in
  36751. the Storage Unit persistent.
  36752.  
  36753. Inputs
  36754. none
  36755.  
  36756. Outputs
  36757. <return>
  36758.     this
  36759.  
  36760. Exceptions Signalled
  36761. None.
  36762.  
  36763. Pre conditions
  36764. None.
  36765.  
  36766. Post conditions
  36767. None.
  36768.  
  36769. æKY ODStorageUnit::Focus
  36770. StorageUnit::Focus
  36771. StorageUnit->Focus
  36772. æT Class Method
  36773. æD ODStorageUnit* Focus(
  36774. ODPropertyName propertyName,
  36775. ODPositionCode propertyPosCode,
  36776. ODValueType valueType,
  36777. ODValueIndex valueIndex,
  36778. ODPositionCode valuePosCode);
  36779.  
  36780. æC Protection
  36781.     Public.  
  36782.  
  36783. Override policy
  36784.     Derived class must override.
  36785.     Derived class cannot call base class behavior.
  36786.  
  36787. Basic operation
  36788. If the propertyName is specified (i.e., not kODNULL),  it is used for
  36789. focusing. Otherwise,  the propertyPosCode is used to designate which
  36790. property to focus on using the current focus.
  36791. If a valueType is specified (i.e., not kODNULL), it is used to focus
  36792. the ODStorageUnit. Both valueIndex and valuePosCode are ignored.
  36793. If valueType is not specified but valueIndex is specified (i.e., not
  36794. 0),  valueIndex is used to focus the ODStorageUnit. valuePosCode is
  36795. ignored in this case.
  36796. If neither valueType nor valueIndex is specified, the valuePosCode is
  36797. used to designate which value to focus on using the current focus.
  36798.  
  36799. Inputs
  36800. propertyName
  36801.     focus property name
  36802. propertyPosCode
  36803.     focus relative property relation
  36804. valueType
  36805.     focus value type
  36806. valueIndex
  36807.     focus value index
  36808. valuePosCode
  36809.     focus relative value relation
  36810.  
  36811. Outputs
  36812. <return>
  36813.     this
  36814.  
  36815. Exceptions Signalled
  36816. kODErrInvalidProperty
  36817.     No such Property.
  36818. kODErrInvalidType
  36819.     No Value with this Type.
  36820. kODErrInvalidValueIndex
  36821.     Invalid value index.
  36822. kODErrInvalidPosCode
  36823.     Invalid position code.
  36824.  
  36825. Pre conditions
  36826. None.
  36827.  
  36828. Post conditions
  36829. The StorageUnit is focused on the specified property and value.
  36830. The current offset is 0.
  36831.  
  36832. æKY ODStorageUnit::Focus
  36833. StorageUnit::Focus
  36834. StorageUnit->Focus
  36835. æT Class Method
  36836. æD ODStorageUnit* FocusWithCursor(
  36837. ODStorageUnitCursor* cursor);
  36838.  
  36839. æC Protection
  36840.     Public.  
  36841.  
  36842. Override policy
  36843.     Derived class must override.
  36844.     Derived class cannot call base class behavior.
  36845.  
  36846. Basic operation
  36847. Focus the Storage Unit using the property and value specified by the
  36848. given ODStorageUnitCursor object.
  36849.  
  36850. Inputs
  36851. cursor
  36852.     the cursor to use for focusing
  36853.  
  36854. Outputs
  36855. <return>
  36856.     this
  36857.  
  36858. Exceptions Signalled
  36859. kODErrInvalidPropertyName
  36860.     No such Property.
  36861. kODErrInvalidType
  36862.     No Value with such Type.
  36863. kODErrInvalidValueIndex
  36864.     Invalid Value Index.
  36865. kODErrInvalidPosCode
  36866.     Invalid position code.
  36867.  
  36868. Pre conditions
  36869. None.
  36870.  
  36871. Post conditions
  36872. The StorageUnit is focused on the property and/or value specified by
  36873. the ODStorageUnitCursor object.
  36874. The current offset is 0.
  36875.  
  36876. æKY ODStorageUnit::GetDraft
  36877. StorageUnit::GetDraft
  36878. StorageUnit->GetDraft
  36879. æT Class Method
  36880. æD ODDraft*  GetDraft();
  36881.  
  36882. æC Protection
  36883.     Public.  
  36884.  
  36885. Override policy
  36886.     Derived class must override.
  36887.     Derived class cannot call base class behavior.
  36888.  
  36889. Basic operation
  36890. Returns the draft from which this ODStorageUnit is instantiated.
  36891.  
  36892. Inputs
  36893. none
  36894.  
  36895. Outputs
  36896. <return>
  36897.     ODDraft from which this ODStorageUnit object is created.
  36898.  
  36899. Exceptions Signalled
  36900. None.
  36901.  
  36902. Pre conditions
  36903. None.
  36904.  
  36905. Post conditions
  36906. None.
  36907.  
  36908. æKY ODStorageUnit::GetGenerationNumber
  36909. StorageUnit::GetGenerationNumber
  36910. StorageUnit->GetGenerationNumber
  36911. æT Class Method
  36912. æD ODULong   GetGenerationNumber();
  36913.  
  36914. æC Protection
  36915.     Public.  
  36916.  
  36917. Override policy
  36918.     Derived class must override.
  36919.     Derived class cannot call base class behavior.
  36920.  
  36921. Basic operation
  36922. Return the generation number of the current value focus.
  36923.  
  36924. Inputs
  36925. none
  36926.  
  36927. Outputs
  36928. <return>
  36929.     the generation number of the current valuye
  36930.  
  36931. Exceptions Signalled
  36932. kODUnfocusedStorageUnit
  36933.     This ODStorageUnit object is not focused to a Value.
  36934.  
  36935. Pre conditions
  36936. this ODStorageUnit object is focused to a value.
  36937.  
  36938. Post conditions
  36939. None.
  36940.  
  36941. æKY ODStorageUnit::GetID
  36942. StorageUnit::GetID
  36943. StorageUnit->GetID
  36944. æT Class Method
  36945. æD ODID   GetID();
  36946.  
  36947. æC Protection
  36948.     Public.  
  36949.  
  36950. Override policy
  36951.     Derived class must override.
  36952.     Derived class cannot call base class behavior.
  36953.  
  36954. Basic operation
  36955. Returns the ID of this Storage Unit.
  36956.  
  36957. Inputs
  36958. none
  36959.  
  36960. Outputs
  36961. <return>
  36962.     the id of the focus
  36963.  
  36964. Exceptions Signalled
  36965. None.
  36966.  
  36967. Pre conditions
  36968. None.
  36969.  
  36970. Post conditions
  36971. None.
  36972.  
  36973. æKY ODStorageUnit::GetIDFromStorageUnitRef
  36974. StorageUnit::GetIDFromStorageUnitRef
  36975. StorageUnit->GetIDFromStorageUnitRef
  36976. æT Class Method
  36977. æD ODStorageUnitID GetIDFromStorageUnitRef(
  36978. ODStorageUnitRef ref);
  36979.  
  36980. æC Protection
  36981.     Public.  
  36982.  
  36983. Override policy
  36984.     Derived class must override.
  36985.     Derived class cannot call base class behavior.
  36986.  
  36987. Basic operation
  36988. Resolves the given ref to a ODStorageUnitID and returns the
  36989. ODStorageUnitID. If the specified ref cannot be resolved, an exception
  36990. is raised.
  36991.  
  36992. Inputs
  36993. ref
  36994.     ODStorageUnitRef to be resolved.
  36995.  
  36996. Outputs
  36997. <return>
  36998.     the StorageUnitID associated with the given rRef in this value
  36999.  
  37000. Exceptions Signalled
  37001. kODUnfocusedStorageUnit
  37002.     this ODStorageUnit object is not focused to a Value.
  37003. kODErrInvalidStorageUnitRef
  37004.     Invalid Storage Unit Reference.
  37005.  
  37006. Pre conditions
  37007. this ODStorageUnit object is focused to a value.
  37008.  
  37009. Post conditions
  37010. None.
  37011.  
  37012. æKY ODStorageUnit::GetName
  37013. StorageUnit::GetName
  37014. StorageUnit->GetName
  37015. æT Class Method
  37016. æD ODName  GetName();
  37017.  
  37018. æC Protection
  37019.     Public.  
  37020.  
  37021. Override policy
  37022.     Derived class must override.
  37023.     Derived class cannot call base class behavior.
  37024.  
  37025. Basic operation
  37026. Returns a copy of the name of the Storage Unit. If the Storage Unit
  37027. does not have a name, kODNULL is returned.
  37028.  
  37029. Inputs
  37030. none
  37031.  
  37032. Outputs
  37033. <return>
  37034.     Name of the Storage Unit
  37035.  
  37036. Exceptions Signalled
  37037. None.
  37038.  
  37039. Pre conditions
  37040. None.
  37041.  
  37042. Post conditions
  37043. None.
  37044.  
  37045. æKY ODStorageUnit::GetOffset
  37046. StorageUnit::GetOffset
  37047. StorageUnit->GetOffset
  37048. æT Class Method
  37049. æD ODULong  GetOffset();
  37050.  
  37051. æC Protection
  37052.     Public.  
  37053.  
  37054. Override policy
  37055.     Derived class must override.
  37056.     Derived class cannot call base class behavior.
  37057.  
  37058. Basic operation
  37059. Returns the current offset of the currently focused value.
  37060.  
  37061. Inputs
  37062. none
  37063.  
  37064. Outputs
  37065. <return>
  37066.     the current offset of the currently focused value
  37067.  
  37068. Exceptions Signalled
  37069. kODErrUnfocusedStorageUnit
  37070.     This ODStorageUnit is not focused to a Value.
  37071.  
  37072. Pre conditions
  37073. this ODStorageUnit object is focused to a value.
  37074.  
  37075. Post conditions
  37076. None.
  37077.  
  37078. æKY ODStorageUnit::GetPromiseValue
  37079. StorageUnit::GetPromiseValue
  37080. StorageUnit->GetPromiseValue
  37081. æT Class Method
  37082. æD ODULong  GetPromiseValue(
  37083. in ODValueType valueType,
  37084. in ODULong offset,
  37085. in ODULong length,
  37086. out ODByteArray value,
  37087. out ODPart sourcePart);
  37088.  
  37089. æC Protection
  37090.     Public.  
  37091.  
  37092. Override policy
  37093.     Derived class must override.
  37094.     Derived class cannot call base class behavior.
  37095.  
  37096. Basic operation
  37097. Extracts data placed in the focused value when the promise was
  37098. created.  This does not fulfill the promise.
  37099. The data is returned in an ODByteArray. The _buffer in the ODByteArray
  37100. is allocated by ODStorageUnit and needs to be disposed of by the
  37101. caller using ODDisposePtr.
  37102.  
  37103. Inputs
  37104. valueType
  37105.     Value Type of Value to be focused to.
  37106. offset
  37107.     Offset from which the data should be retrieved.
  37108. length
  37109.     Length of data to be retrieved.
  37110. value
  37111.     ODByteArray where data is returned.
  37112. sourcePart
  37113.     Pointer to the buffer where the sourcePart can be returned.
  37114.  
  37115. Outputs
  37116. <return>
  37117.     the actual number of bytes read
  37118. sourcePart
  37119.     Source Part which has put out the Promise.
  37120.  
  37121. Exceptions Signalled
  37122. kODErrUnfocusedStorageUnit
  37123.     This ODStorageUnit object is not focused to a Property.
  37124. kODErrInvalidType
  37125.     valueType is kODNULL.
  37126. kODErrCannotAddType
  37127.     Invalid valueType.
  37128. kODErrInvalidValue
  37129.     Cannot focus to specified Value with valueType.
  37130. kODErrNotPromise
  37131.     The Value does not contain a Promise.
  37132.  
  37133. Pre conditions
  37134. The current storage unit must be focused to a valid property
  37135. containing a promise of the same type specified in the valueType
  37136. parameter.
  37137.  
  37138. Post conditions
  37139. The promise data (not the data the promise represents) is copied into
  37140. the supplied value parameter.
  37141.  
  37142. æKY ODStorageUnit::GetProperty
  37143. StorageUnit::GetProperty
  37144. StorageUnit->GetProperty
  37145. æT Class Method
  37146. æD ODPropertyName    GetProperty();
  37147.  
  37148. æC Protection
  37149.     Public.  
  37150.  
  37151. Override policy
  37152.     Derived class must override.
  37153.     Derived class cannot call base class behavior.
  37154.  
  37155. Basic operation
  37156. Returns the name of the currently focused property.
  37157.  
  37158. Inputs
  37159. None.
  37160.  
  37161. Outputs
  37162. <return>
  37163.     Property name of the current focus.
  37164.  
  37165. Exceptions Signalled
  37166. kODErrUnfocusedStorageUnit
  37167.     this ODStorageUnit is not focused to a Property.
  37168.  
  37169. Pre conditions
  37170. this ODStorageUnit object is focused to a property or value.
  37171.  
  37172. Post conditions
  37173. None.
  37174.  
  37175. æKY ODStorageUnit::GetSession
  37176. StorageUnit::GetSession
  37177. StorageUnit->GetSession
  37178. æT Class Method
  37179. æD ODSession* GetSession();
  37180.  
  37181. æC Protection
  37182.     Public.  
  37183.  
  37184. Override policy
  37185.     Derived class must override.
  37186.     Derived class cannot call base class behavior.
  37187.  
  37188. Basic operation
  37189. Returns the session in which this ODStorageUnit object is running.
  37190. This is a utility routine Parts should use to retrieve the current
  37191. ODSession object.
  37192.  
  37193. Inputs
  37194. None.
  37195.  
  37196. Outputs
  37197. <return>
  37198.     ODSession object in which this ODStorageUnit object is running.
  37199.  
  37200. Exceptions Signalled
  37201. None.
  37202.  
  37203. Pre conditions
  37204. None.
  37205.  
  37206. Post conditions
  37207. None.
  37208.  
  37209. æKY ODStorageUnit::GetSize
  37210. StorageUnit::GetSize
  37211. StorageUnit->GetSize
  37212. æT Class Method
  37213. æD ODULong  GetSize();
  37214.  
  37215. æC Protection
  37216.     Public.  
  37217.  
  37218. Override policy
  37219.     Derived class must override.
  37220.     Derived class cannot call base class behavior.
  37221.  
  37222. Basic operation
  37223. Returns the size of the current focus. If the current focus is the
  37224. whole Storage Unit, the aggregate size of all the Properties and their
  37225. Values is returned. If the current focus is a Property, the aggregate
  37226. size of all the Values in the Property is returned. If the current
  37227. focus is a Value, only the size of the Value is returned.
  37228. If the current focus is a Promise Value, the Promise is resolved first
  37229. before the Value size is evaluated.
  37230.  
  37231. Inputs
  37232. none
  37233.  
  37234. Outputs
  37235. <return>
  37236.     Desired size.
  37237.  
  37238. Exceptions Signalled
  37239. kODUnfocusedStorageUnit
  37240.  
  37241. Pre conditions
  37242. None.
  37243.  
  37244. Post conditions
  37245. None.
  37246.  
  37247. æKY ODStorageUnit::GetStorageUnitRefIterator
  37248. StorageUnit::GetStorageUnitRefIterator
  37249. StorageUnit->GetStorageUnitRefIterator
  37250. æT Class Method
  37251. æD ODStorageUnitRefIterator* GetStorageUnitRefIterator();
  37252.  
  37253. æC Protection
  37254.     Public.  
  37255.  
  37256. Override policy
  37257.     Derived class must override.
  37258.     Derived class cannot call base class behavior.
  37259.  
  37260. Basic operation
  37261. Returns an iterator for iterating over all the persistent references
  37262. created in the currently focused Value.
  37263.  
  37264. Inputs
  37265. None.
  37266.  
  37267. Outputs
  37268. <return>
  37269.     Iterator used to iterate over all persistent references in the focused
  37270. Value.
  37271.  
  37272. Exceptions Signalled
  37273. None.
  37274.  
  37275. Pre conditions
  37276. this ODStorageUnit is focused to a Value.
  37277.  
  37278. Post conditions
  37279. None.
  37280.  
  37281. æKY ODStorageUnit::GetStrongStorageUnitRef
  37282. StorageUnit::GetStrongStorageUnitRef
  37283. StorageUnit->GetStrongStorageUnitRef
  37284. æT Class Method
  37285. æD void GetStrongStorageUnitRef(
  37286. in ODStorageUnitID embeddedSUID,
  37287. out ODStorageUnitRef strongRef);
  37288.  
  37289. æC Protection
  37290.     Public.  
  37291.  
  37292. Override policy
  37293.     Derived class must override.
  37294.     Derived class cannot call base class behavior.
  37295.  
  37296. Basic operation
  37297. Returns a persistent reference to the Storage Unit with the storage
  37298. unit id embeddedSUID. This persistent reference may be stored within
  37299. the current value focus of this ODStorageUnit and later used to
  37300. retrieve the given Storage Unit. The returned ODStorageUnitRef is
  37301. strong in the sense that the Storage Unit it refers to will be copied
  37302. in the cloning operation.
  37303.  
  37304. Inputs
  37305. embeddedSUID
  37306.     ODStorageUnit ID referring to the Storage Unit whose ref is desired. 
  37307.  
  37308. Outputs
  37309. strongRef
  37310.     persistent reference to the Storage Unit referred to by embeddedSU. 
  37311.  
  37312. Exceptions Signalled
  37313. kODUnfocusedStorageUnit
  37314.  
  37315. Pre conditions
  37316. this ODStorageUnit object is focused to a value.
  37317. Storage Units referred to by this ODStorageUnit and embeddedSU must be
  37318. in the same Draft.
  37319.  
  37320. Post conditions
  37321. None.
  37322.  
  37323. æKY ODStorageUnit::GetType
  37324. StorageUnit::GetType
  37325. StorageUnit->GetType
  37326. æT Class Method
  37327. æD ODValueType GetType();
  37328.  
  37329. æC Protection
  37330.     Public.  
  37331.  
  37332. Override policy
  37333.     Derived class must override.
  37334.     Derived class cannot call base class behavior.
  37335.  
  37336. Basic operation
  37337. Returns the type of the currently focused value.
  37338.  
  37339. Inputs
  37340. none
  37341.  
  37342. Outputs
  37343. <return>
  37344.     Type of the focused particular value
  37345.  
  37346. Exceptions Signalled
  37347. kODErrInvalidValue
  37348. kODErrUnfocusedStorageUnit.
  37349.  
  37350. Pre conditions
  37351. this ODStorageUnit object is focused to a value.
  37352.  
  37353. Post conditions
  37354. None.
  37355.  
  37356. æKY ODStorageUnit::GetValue
  37357. StorageUnit::GetValue
  37358. StorageUnit->GetValue
  37359. æT Class Method
  37360. æD ODULong    GetValue(
  37361. in ODULong length,
  37362. out ODByteArray value);
  37363.  
  37364. æC Protection
  37365.     Public.  
  37366.  
  37367. Override policy
  37368.     Derived class must override.
  37369.     Derived class cannot call base class behavior.
  37370.  
  37371. Basic operation
  37372. Reads length bytes from the currently focused value at the current
  37373. offset and returns the data in a ODByteArray. The _buffer of value is
  37374. allocated by ODStorageUnit and the client should dispose of it using
  37375. ODDisposePtr.
  37376.  
  37377. Inputs
  37378. length
  37379.     Number of bytes to read into value
  37380. value
  37381.     Byte array where the data should be returned.
  37382.  
  37383. Outputs
  37384. <return>
  37385.     Number of bytes actually read
  37386.  
  37387. Exceptions Signalled
  37388. None.
  37389.  
  37390. Pre conditions
  37391. this ODStorageUnit object is focused to a value.
  37392. value is a buffer of length length or more.
  37393.  
  37394. Post conditions
  37395. value contains length bytes from offset in the currently focused
  37396. value.
  37397.  
  37398. æKY ODStorageUnit::GetWeakStorageUnitRef
  37399. StorageUnit::GetWeakStorageUnitRef
  37400. StorageUnit->GetWeakStorageUnitRef
  37401. æT Class Method
  37402. æD void GetWeakStorageUnitRef(
  37403. in ODStorageUnitID embeddedSUID,
  37404. out ODStorageUnitRef weakRef);
  37405.  
  37406. æC Protection
  37407.     Public.  
  37408.  
  37409. Override policy
  37410.     Derived class must override.
  37411.     Derived class cannot call base class behavior.
  37412.  
  37413. Basic operation
  37414. Returns a persistent reference to the Storage Unit with ID
  37415. embeddedSUID. This persistent reference may be stored within the
  37416. current value focus and later used to retrieve the given Storage Unit.
  37417. This ODStorageUnitRef  is weak in the sense that the Storage Unit it
  37418. refers to will only be copied over in the cloning operation only if
  37419. there is another Strong Storage Unit Ref referring to it.
  37420.  
  37421. Inputs
  37422. embeddedSUID
  37423.     ID of  the Storage Unit for which a ref is desired
  37424.  
  37425. Outputs
  37426. <return>
  37427.     a ref to the given storageUnit
  37428.  
  37429. Exceptions Signalled
  37430. kODUnfocusedStorageUnit
  37431.     this ODStorageUnit is not focused to a Value.
  37432.  
  37433. Pre conditions
  37434. this ODStorageUnit object is focused to a value.
  37435.  
  37436. Post conditions
  37437. None.
  37438.  
  37439. æKY ODStorageUnit::IncrementGenerationNumber
  37440. StorageUnit::IncrementGenerationNumber
  37441. StorageUnit->IncrementGenerationNumber
  37442. æT Class Method
  37443. æD ODULong   IncrementGenerationNumber();
  37444.  
  37445. æC Protection
  37446.     Public.  
  37447.  
  37448. Override policy
  37449.     Derived class must override.
  37450.     Derived class cannot call base class behavior.
  37451.  
  37452. Basic operation
  37453. Increment and return the generation number of the current value focus.
  37454.  
  37455. Inputs
  37456. none
  37457.  
  37458. Outputs
  37459. <return>
  37460.     Generation number of the focused Value.
  37461.  
  37462. Exceptions Signalled
  37463. kODErrUnfocusedStorageUnit
  37464.     this ODStorageUnit is not focused to a Value.
  37465.  
  37466. Pre conditions
  37467. this ODStorageUnit object is focused to a value.
  37468.  
  37469. Post conditions
  37470. None.
  37471.  
  37472. æKY ODStorageUnit::IncrementRefCount
  37473. StorageUnit::IncrementRefCount
  37474. StorageUnit->IncrementRefCount
  37475. æT Class Method
  37476. æD void IncrementRefCount();
  37477.  
  37478. æC Protection
  37479.     Public.  
  37480.  
  37481. Override policy
  37482.     Derived class must override.
  37483.     Derived class cannot call base class behavior.
  37484.  
  37485. Basic operation
  37486. Increments the reference count of this object.
  37487.  
  37488. Inputs
  37489. none
  37490.  
  37491. Outputs
  37492. none
  37493.  
  37494. Exceptions Signalled
  37495. None.
  37496.  
  37497. Pre conditions
  37498. None.
  37499.  
  37500. Post conditions
  37501. The ref count of this ODStorageUnit object is incremented by 1.
  37502.  
  37503. æKY ODStorageUnit::InitStorageUnit
  37504. StorageUnit::InitStorageUnit
  37505. StorageUnit->InitStorageUnit
  37506. æT Class Method
  37507. æD void InitStorageUnit(
  37508. ODDraft* draft,
  37509. ODStorageUnitID suid);
  37510.  
  37511. æC Protection
  37512.     Public.  Private within Storage System. This method should only be called by
  37513. ODDraft::CreateStorageUnit.
  37514.  
  37515. Override policy
  37516.     Derived class must override.
  37517.     Derived class cannot call base class behavior.
  37518.  
  37519. Basic operation
  37520. Initializes this ODStorageUnit object.
  37521.  
  37522. Inputs
  37523. draft
  37524.     the draft of this storage unit
  37525. suid
  37526.     the id of this storage unit
  37527.  
  37528. Outputs
  37529. none
  37530.  
  37531. Exceptions Signalled
  37532. None.
  37533.  
  37534. Pre conditions
  37535. this is a valid ODStorageUnit.
  37536.  
  37537. Post conditions
  37538. this is an initialized ODStorageUnit object.
  37539. this ODStorageUnit is focused to all Properties.
  37540.  
  37541. æKY ODStorageUnit::InsertValue
  37542. StorageUnit::InsertValue
  37543. StorageUnit->InsertValue
  37544. æT Class Method
  37545. æD void   InsertValue(
  37546. ODULong length,
  37547. ODValue value);
  37548.  
  37549. æC Protection
  37550.     Public.  
  37551.  
  37552. Override policy
  37553.     Derived class must override.
  37554.     Derived class cannot call base class behavior.
  37555.  
  37556. Basic operation
  37557. Insert length bytes into the currently focused value  at the current
  37558. offset from the buffer value. If the focused Value is a Promise Value,
  37559. the Promise is resolved first before insertion is done.
  37560.  
  37561. Inputs
  37562. length
  37563.     Number of bytes to write into the focussed value
  37564. value
  37565.     Buffer of size>= length  
  37566.  
  37567. Outputs
  37568. none
  37569.  
  37570. Exceptions Signalled
  37571. kODErrUnfocusedStorageUnit
  37572.     this ODStorageUnit is not focused to a Value.
  37573.  
  37574. Pre conditions
  37575. this ODStorageUnit object is focused to a value.
  37576. value is a buffer of size length or more.
  37577.  
  37578. Post conditions
  37579. length bytes of value have been inserted at the current offset in the
  37580. currently focused value.
  37581.  
  37582. æKY ODStorageUnit::Internalize
  37583. StorageUnit::Internalize
  37584. StorageUnit->Internalize
  37585. æT Class Method
  37586. æD ODStorageUnit* Internalize();
  37587.  
  37588. æC Protection
  37589.     Public.  Private within Storage System. This method should only be called by
  37590. ODDraft.
  37591.  
  37592. Override policy
  37593.     Derived class must override.
  37594.     Derived class cannot call base class behavior.
  37595.  
  37596. Basic operation
  37597. Brings into ephemeral storage from persistent storage, all properties
  37598. and their values in the current focus.
  37599.  
  37600. Inputs
  37601. none
  37602.  
  37603. Outputs
  37604. <return>
  37605.     this
  37606.  
  37607. Exceptions Signalled
  37608. None.
  37609.  
  37610. Pre conditions
  37611. None.
  37612.  
  37613. Post conditions
  37614. All properties and values in the current focus have been brought into
  37615. ephemeral storage from persistent storage.
  37616.  
  37617. æKY ODStorageUnit::IsPromiseValue
  37618. StorageUnit::IsPromiseValue
  37619. StorageUnit->IsPromiseValue
  37620. æT Class Method
  37621. æD ODBoolean IsPromiseValue();
  37622.  
  37623. æC Protection
  37624.     Public.  
  37625.  
  37626. Override policy
  37627.     Derived class must override.
  37628.     Derived class cannot call base class behavior.
  37629.  
  37630. Basic operation
  37631. Returns kODTrue if focused Value contains a promise. Otherwise,
  37632. returns kODFalse.
  37633.  
  37634. Inputs
  37635. None.
  37636.  
  37637. Outputs
  37638. <return>
  37639.     kODTrue if the focused value contains a promise. otherwise false.
  37640.  
  37641. Exceptions Signalled
  37642. None.
  37643.  
  37644. Pre conditions
  37645. this ODStorageUnit is focused to a Value.
  37646.  
  37647. Post conditions
  37648. None.
  37649.  
  37650. æKY ODStorageUnit::IsStrongStorageUnitRef
  37651. StorageUnit::IsStrongStorageUnitRef
  37652. StorageUnit->IsStrongStorageUnitRef
  37653. æT Class Method
  37654. æD ODBoolean IsStrongStorageUnitRef(
  37655. ODStorageUnitRef ref);
  37656.  
  37657. æC Protection
  37658.     Public.  
  37659.  
  37660. Override policy
  37661.     Derived class must override.
  37662.     Derived class cannot call base class behavior.
  37663.  
  37664. Basic operation
  37665. Returns kODTrue if ref is a strong Storage Unit Ref. Otherwise, it
  37666. returns kODFalse.
  37667.  
  37668. Inputs
  37669. ref
  37670.     ODStorageUnitRef to be tested.
  37671.  
  37672. Outputs
  37673. <return>
  37674.     Boolean showing whether the ref is a Strong Storage Unit Ref.
  37675.  
  37676. Exceptions Signalled
  37677. None.
  37678.  
  37679. Pre conditions
  37680. this ODStorageUnit is focused to a Value.
  37681.  
  37682. Post conditions
  37683. None.
  37684.  
  37685. æKY ODStorageUnit::IsValidStorageUnitRef
  37686. StorageUnit::IsValidStorageUnitRef
  37687. StorageUnit->IsValidStorageUnitRef
  37688. æT Class Method
  37689. æD ODBoolean IsValidStorageUnitRef(
  37690. ODStorageUnitRef aRef);
  37691.  
  37692. æC Protection
  37693.     Public.  
  37694.  
  37695. Override policy
  37696.     Derived class can override.
  37697.     Derived class can call base class behavior.
  37698.  
  37699. Basic operation
  37700. Returns kODTrue if 'aRef' is a valid reference to a storage unit in
  37701. the context of the current focus, and kODFalse otherwise.
  37702.  
  37703. Inputs
  37704. aRef
  37705.     The storage unit reference to test for validity.
  37706.  
  37707. Outputs
  37708. <return>
  37709.     kODTrue if  'aRef' is a valid reference and kODFalse otherwise.
  37710.  
  37711. Exceptions Signalled
  37712. None.
  37713.  
  37714. Pre conditions
  37715. This storage unit is focused to a value.
  37716.  
  37717. Post conditions
  37718. None.
  37719.  
  37720. æKY ODStorageUnit::IsWeakStorageUnitRef
  37721. StorageUnit::IsWeakStorageUnitRef
  37722. StorageUnit->IsWeakStorageUnitRef
  37723. æT Class Method
  37724. æD ODBoolean IsWeakStorageUnitRef(
  37725. ODStorageUnitRef ref);
  37726.  
  37727. æC Protection
  37728.     Public.  
  37729.  
  37730. Override policy
  37731.     Derived class must override.
  37732.     Derived class cannot call base class behavior.
  37733.  
  37734. Basic operation
  37735. Returns kODTrue if ref is a weak Storage Unit Ref. Otherwise, it
  37736. returns kODFalse.
  37737.  
  37738. Inputs
  37739. ref
  37740.     ODStorageUnitRef to be tested.
  37741.  
  37742. Outputs
  37743. <return>
  37744.     Boolean showing whether the ref is a Strong Storage Unit Ref.
  37745.  
  37746. Exceptions Signalled
  37747. None.
  37748.  
  37749. Pre conditions
  37750. this ODStorageUnit is focused to a Value.
  37751.  
  37752. Post conditions
  37753. None.
  37754.  
  37755. æKY ODStorageUnit::Lock
  37756. StorageUnit::Lock
  37757. StorageUnit->Lock
  37758. æT Class Method
  37759. æD ODStorageUnitKey    Lock(
  37760. ODStorageUnitKey key);
  37761.  
  37762. æC Protection
  37763.     Public.  
  37764.  
  37765. Override policy
  37766.     Derived class must override.
  37767.     Derived class cannot call base class behavior.
  37768.  
  37769. Basic operation
  37770. Sets the status of this ODStorageUnit to locked. Note that this is
  37771. used for implementing a thread-safety mechanism. In order for the
  37772. mechanism to work, every thread will have to acquire the lock before
  37773. any operation on this ODStorageUnit.  If the client does not already
  37774. hold a valid key, the constant kODKeyNotGranted should be passed as
  37775. the key parameter.
  37776.  
  37777. Inputs
  37778. key
  37779.     Previous ODStorageUnitKey acquired, or the value kODKeyNotGranted.
  37780.  
  37781. Outputs
  37782. <return>
  37783.     ODStorageUnitKey
  37784.  
  37785. Exceptions Signalled
  37786. kODErrStorageUnitLocked
  37787.     ODStorageUnit is already locked.
  37788. kODErrInvalidStorageUnitKey
  37789.     Invalid ODStorageUnitKey.
  37790.  
  37791. Pre conditions
  37792. None.
  37793.  
  37794. Post conditions
  37795. An exception is raised if the storage unit is already locked and the
  37796. input key is anything but kODKeyNotGranted.
  37797.  
  37798. æKY ODStorageUnit::Purge
  37799. StorageUnit::Purge
  37800. StorageUnit->Purge
  37801. æT Class Method
  37802. æD ODSize   Purge(
  37803. ODSize size);
  37804.  
  37805. æC Protection
  37806.     Public.  Private within Storage System. This method should only be called by
  37807. ODDraft::Purge.
  37808.  
  37809. Override policy
  37810.     Derived class must override.
  37811.     Derived class cannot call base class behavior.
  37812.  
  37813. Basic operation
  37814. Purge memory from ephemeral store until size bytes (not necessarily
  37815. contiguous) have been freed up.
  37816.  
  37817. Inputs
  37818. size
  37819.     Number of bytes to purge
  37820.  
  37821. Outputs
  37822. <return>
  37823.     Number of bytes actually purged
  37824.  
  37825. Exceptions Signalled
  37826. None.
  37827.  
  37828. Pre conditions
  37829. None.
  37830.  
  37831. Post conditions
  37832. Either size bytes (not necessarily contiguous) are free in the default
  37833. heap or all Properties and Values in memory have been flushed out.
  37834.  
  37835. æKY ODStorageUnit::Release
  37836. StorageUnit::Release
  37837. StorageUnit->Release
  37838. æT Class Method
  37839. æD ODDraft*  Release();
  37840.  
  37841. æC Protection
  37842.     Public.  
  37843.  
  37844. Override policy
  37845.     Derived class must override.
  37846.     Derived class cannot call base class behavior.
  37847.  
  37848. Basic operation
  37849. Releases this ODStorageUnit object. This is called when the reference
  37850. to this ODStorageUnit is no longer needed.
  37851.  
  37852. Inputs
  37853. none
  37854.  
  37855. Outputs
  37856. <return>
  37857.     fDraft
  37858.  
  37859. Exceptions Signalled
  37860. None.
  37861.  
  37862. Pre conditions
  37863. None.
  37864.  
  37865. Post conditions
  37866. this is no longer a valid ODStorageUnit object.
  37867.  
  37868. æKY ODStorageUnit::Remove
  37869. StorageUnit::Remove
  37870. StorageUnit->Remove
  37871. æT Class Method
  37872. æD ODStorageUnit* Remove();
  37873.  
  37874. æC Protection
  37875.     Public.  
  37876.  
  37877. Override policy
  37878.     Derived class must override.
  37879.     Derived class cannot call base class behavior.
  37880.  
  37881. Basic operation
  37882. Removes a Value if focused to a Value. Otherwise,  removes a property
  37883. if focused to a property. Otherwise, removes all the properties.
  37884.  
  37885. Inputs
  37886. none
  37887.  
  37888. Outputs
  37889. <return>
  37890.     this
  37891.  
  37892. Exceptions Signalled
  37893. None.
  37894.  
  37895. Pre conditions
  37896. None.
  37897.  
  37898. Post conditions
  37899. The current focus is undefined.
  37900.  
  37901. æKY ODStorageUnit::RemoveStorageUnitRef
  37902. StorageUnit::RemoveStorageUnitRef
  37903. StorageUnit->RemoveStorageUnitRef
  37904. æT Class Method
  37905. æD ODStorageUnit*    RemoveStorageUnitRef(
  37906. ODStorageUnitRef ref);
  37907.  
  37908. æC Protection
  37909.     Public.  
  37910.  
  37911. Override policy
  37912.     Derived class must override.
  37913.     Derived class cannot call base class behavior.
  37914.  
  37915. Basic operation
  37916. Removes a ODStorageUnitRef from a Value.
  37917.  
  37918. Inputs
  37919. None.
  37920.  
  37921. Outputs
  37922. None.
  37923.  
  37924. Exceptions Signalled
  37925. kODErrUnfocusedStorageUnit
  37926.     this ODStorageUnit is not focused to a Value. 
  37927.  
  37928. Pre conditions
  37929. this ODStorageUnit object is focused to a value.
  37930. ref is a valid ODStorageUnitRef (either strong or weak).
  37931.  
  37932. Post conditions
  37933. ref is no longer a valid ODStorageUnitRef in that Value.
  37934.  
  37935. æKY ODStorageUnit::ResolveAllPromises
  37936. StorageUnit::ResolveAllPromises
  37937. StorageUnit->ResolveAllPromises
  37938. æT Class Method
  37939. æD void    ResolveAllPromises();
  37940.  
  37941. æC Protection
  37942.     Public.  
  37943.  
  37944. Override policy
  37945.     Derived class must override.
  37946.     Derived class cannot call base class behavior.
  37947.  
  37948. Basic operation
  37949. This function resolves all Promises in the Storage Unit.
  37950.  
  37951. Inputs
  37952. None.
  37953.  
  37954. Outputs
  37955. None.
  37956.  
  37957. Exceptions Signalled
  37958. None.
  37959.  
  37960. Pre conditions
  37961. None.
  37962.  
  37963. Post conditions
  37964. The Storage Unit does not contain any promises.
  37965.  
  37966. æKY ODStorageUnit::SetName
  37967. StorageUnit::SetName
  37968. StorageUnit->SetName
  37969. æT Class Method
  37970. æD void SetName(
  37971. ODName name);
  37972.  
  37973. æC Protection
  37974.     Public.  
  37975.  
  37976. Override policy
  37977.     Derived class must override.
  37978.     Derived class cannot call base class behavior.
  37979.  
  37980. Basic operation
  37981. Set the name of the Storage Unit.
  37982.  
  37983. Inputs
  37984. name
  37985.     the name of the focus
  37986.  
  37987. Outputs
  37988. none
  37989.  
  37990. Exceptions Signalled
  37991. None.
  37992.  
  37993. Pre conditions
  37994. None.
  37995.  
  37996. Post conditions
  37997. the name of the Storage Unit is  name.
  37998.  
  37999. æKY ODStorageUnit::SetOffset
  38000. StorageUnit::SetOffset
  38001. StorageUnit->SetOffset
  38002. æT Class Method
  38003. æD void   SetOffset(
  38004. ODULong offset);
  38005.  
  38006. æC Protection
  38007.     Public.  
  38008.  
  38009. Override policy
  38010.     Derived class must override.
  38011.     Derived class cannot call base class behavior.
  38012.  
  38013. Basic operation
  38014. Sets the current offset of the currently focused value to offset.
  38015.  
  38016. Inputs
  38017. offset
  38018.     the offset to use witht eh currently focused value
  38019.  
  38020. Outputs
  38021. none
  38022.  
  38023. Exceptions Signalled
  38024. kODErrUnfocusedStorageUnit
  38025.     this ODStorageUnit is not focused to a Value.
  38026.  
  38027. Pre conditions
  38028. this ODStorageUnit is focused to a Value.
  38029.  0≤offset<size of the focused Value. 
  38030.  
  38031. Post conditions
  38032. The current offset for value operations on that value is offset.
  38033.  
  38034. æKY ODStorageUnit::SetPromiseValue
  38035. StorageUnit::SetPromiseValue
  38036. StorageUnit->SetPromiseValue
  38037. æT Class Method
  38038. æD void  SetPromiseValue(
  38039. ODValueType valueType,
  38040. ODULong offset,
  38041. ODULong length,
  38042. ODValue value
  38043. ODPart *sourcePart);
  38044.  
  38045. æC Protection
  38046.     Public.  
  38047.  
  38048. Override policy
  38049.     Derived class must override.
  38050.     Derived class cannot call base class behavior.
  38051.  
  38052. Basic operation
  38053. Puts the given data into the focused value and make the focused value
  38054. a promise.
  38055.  
  38056. Inputs
  38057. valueType
  38058.     Type of Value the Promise is going to be created in.
  38059. offset
  38060.     Offset when the Promise data should be stored.
  38061. length
  38062.     Size of Promise data to be stored.
  38063. value
  38064.     Buffer containing Promise data.
  38065. sourcePart
  38066.     The Part which puts out the Promise.
  38067.  
  38068. Outputs
  38069. none
  38070.  
  38071. Exceptions Signalled
  38072. kODErrUnfocusedStorageUnit
  38073.     this ODStorageUnit is not focused to a Property. 
  38074. kODErrInvalidType
  38075.     valueType is invalid (kODNULL).
  38076. kODErrCannotAddType
  38077.     Invalid Type.
  38078.  
  38079. Pre conditions
  38080. value must be of length bytes long or less.
  38081. this ODStorageUnit is focused to a Property.
  38082.  
  38083. Post conditions
  38084. length bytes of value have been written into offset in the currently
  38085. focused value. Also, the StorageUnit is updated to reflect that the
  38086. value is a promise and the needed information is recorded.
  38087.  
  38088. æKY ODStorageUnit::SetType
  38089. StorageUnit::SetType
  38090. StorageUnit->SetType
  38091. æT Class Method
  38092. æD void   SetType(
  38093. ODValueType valueType);
  38094.  
  38095. æC Protection
  38096.     Public.  
  38097.  
  38098. Override policy
  38099.     Derived class must override.
  38100.     Derived class cannot call base class behavior.
  38101.  
  38102. Basic operation
  38103. Sets the type of the currently focused value.
  38104.  
  38105. Inputs
  38106. valueType
  38107.     New type of the focused particular value
  38108.  
  38109. Outputs
  38110. none
  38111.  
  38112. Exceptions Signalled
  38113. kODErrUnfocusedStorageUnit
  38114.     this ODStorageUnit is not focused to a Value. 
  38115. kODErrInvalidType
  38116.     valueType is invalid (i.e., kODNULL).
  38117.  
  38118. Pre conditions
  38119. this ODStorageUnit object is focused to a Value.
  38120.  
  38121. Post conditions
  38122. The type of the focused value is valueType.
  38123.  
  38124. æKY ODStorageUnit::SetValue
  38125. StorageUnit::SetValue
  38126. StorageUnit->SetValue
  38127. æT Class Method
  38128. æD void   SetValue(
  38129. ODULong length,
  38130. ODValue value);
  38131.  
  38132. æC Protection
  38133.     Public.  
  38134.  
  38135. Override policy
  38136.     Derived class must override.
  38137.     Derived class cannot call base class behavior.
  38138.  
  38139. Basic operation
  38140. Writes length bytes to the currently focused value  at the current
  38141. offset from the buffer value.
  38142. If length + offset is greater than the current size of the Value, the
  38143. Value should be grown to accomodate the extra bytes.
  38144.  
  38145. Inputs
  38146. length
  38147.     Number of bytes to write into the focussed value
  38148. value
  38149.     Buffer of size>= length
  38150.  
  38151. Outputs
  38152. none
  38153.  
  38154. Exceptions Signalled
  38155. kODErrUnfocusedStorageUnit
  38156.     this ODStorageUnit is not focused to a Value.
  38157.  
  38158. Pre conditions
  38159. this ODStorageUnit object is focused to a Value.
  38160. value is a buffer of size length or more.
  38161.  
  38162. Post conditions
  38163. length bytes of value have been written into offset in the currently
  38164. focused value
  38165.  
  38166. æKY ODStorageUnit::Unlock
  38167. StorageUnit::Unlock
  38168. StorageUnit->Unlock
  38169. æT Class Method
  38170. æD void Unlock(
  38171. ODStorageUnitKey key);
  38172.  
  38173. æC Protection
  38174.     Public.  
  38175.  
  38176. Override policy
  38177.     Derived class can override.
  38178.     Derived class can call base class behavior.
  38179.  
  38180. Basic operation
  38181. Decrements the lock count of this ODStorageUnit by 1.
  38182. Note that this is used for implementing a thread-safety mechanism. In
  38183. order for the mechanism to work, every thread will have to acquire the
  38184. lock before any operation on this ODStorageUnit.
  38185.  
  38186. Inputs
  38187. key
  38188.     ODStorageUnitKey acquired from Lock.
  38189.  
  38190. Outputs
  38191. None.
  38192.  
  38193. Exceptions Signalled
  38194. kODErrInvalidStorageUnitKey
  38195.     Invalid ODStorageUnitKey.
  38196. kODErrStorageUnitNotLocked
  38197.     The Storage Unit is not locked.
  38198.  
  38199. Pre conditions
  38200. None.
  38201.  
  38202. Post conditions
  38203. Either an exception is raised or the lock count of this ODStorageUnit
  38204. is decremented by 1.
  38205.  
  38206. æKY ODStorageUnit::fCurProperty
  38207. StorageUnit::fCurProperty
  38208. æT Class Field
  38209. æD ODPropertyName
  38210. æC Persistent form
  38211. None.
  38212.  
  38213. æKY ODStorageUnit::fCurValueIndex
  38214. StorageUnit::fCurValueIndex
  38215. æT Class Field
  38216. æD ODValueIndex
  38217. æC Persistent form
  38218. None.
  38219.  
  38220. æKY ODStorageUnit::fCurValueType
  38221. StorageUnit::fCurValueType
  38222. æT Class Field
  38223. æD ODValueType
  38224. æC Persistent form
  38225. None.
  38226.  
  38227. æKY ODStorageUnit::fDoesAutoResolve
  38228. StorageUnit::fDoesAutoResolve
  38229. æT Class Field
  38230. æD ODBoolean
  38231. æC Persistent form
  38232. None.
  38233.  
  38234. æKY ODStorageUnit::fDraft
  38235. StorageUnit::fDraft
  38236. æT Class Field
  38237. æD ODDraft*
  38238. æC Persistent form
  38239. None.
  38240.  
  38241. æKY ODStorageUnit::fHasPropertyLooped
  38242. StorageUnit::fHasPropertyLooped
  38243. æT Class Field
  38244. æD ODBoolean
  38245. æC Persistent form
  38246. None.
  38247.  
  38248. æKY ODStorageUnit::fHasValueLooped
  38249. StorageUnit::fHasValueLooped
  38250. æT Class Field
  38251. æD ODBoolean
  38252. æC Persistent form
  38253. None.
  38254.  
  38255. æKY ODStorageUnit::fID
  38256. StorageUnit::fID
  38257. æT Class Field
  38258. æD ODStorageUnitID
  38259. æC 
  38260.  
  38261. æKY ODStorageUnitCursorHelp
  38262. ODStorageUnitCursor
  38263. StorageUnitCursor
  38264. æKL ODStorageUnitCursor::ODStorageUnitCursor
  38265. ODStorageUnitCursor::~ODStorageUnitCursor
  38266. ODStorageUnitCursor::GetProperty
  38267. ODStorageUnitCursor::GetValueIndex
  38268. ODStorageUnitCursor::GetValueType
  38269. ODStorageUnitCursor::InitStorageUnitCursor
  38270. ODStorageUnitCursor::SetProperty
  38271. ODStorageUnitCursor::SetValueIndex
  38272. ODStorageUnitCursor::SetValueType
  38273. ODStorageUnitCursor::fCurProperty
  38274. ODStorageUnitCursor::fCurValue
  38275. ODStorageUnitCursor::fCurValueType
  38276. æC Basic Class Documentation
  38277. ODStorageUnitCursor has no base class.
  38278. Part developers or Platform developers can subclass this class.
  38279.  
  38280. Theory of Operation
  38281. A StorageUnitCursor contains a focus context for a storage unit. It
  38282. can be used to make thread safe calls to all storage unit methods
  38283. which would otherwise use the current focus of the storage unit.
  38284.  
  38285. Invariants Maintained by Class
  38286. The focus context (i.e., Property Name and Value Type OR Property Name
  38287. and Value Index) cannot be changed once the object is initialized.
  38288. æKY ODStorageUnitCursor::ODStorageUnitCursor
  38289. StorageUnitCursor::ODStorageUnitCursor
  38290. StorageUnitCursor->ODStorageUnitCursor
  38291. æT Class Method
  38292. æD ODStorageUnitCursor();
  38293.  
  38294. æC Protection
  38295.     Public.  
  38296.  
  38297. Override policy
  38298.     Derived class can override.
  38299.     Derived class must call base class behavior, before derived class behavior.
  38300.  
  38301. Basic operation
  38302. This is the constructor of the class.
  38303.  
  38304. Inputs
  38305. None.
  38306.  
  38307. Outputs
  38308. None
  38309.  
  38310. Exceptions Signalled
  38311. None.
  38312.  
  38313. Pre conditions
  38314. None.
  38315.  
  38316. Post conditions
  38317. None.
  38318.  
  38319. æKY ODStorageUnitCursor::~ODStorageUnitCursor
  38320. StorageUnitCursor::~ODStorageUnitCursor
  38321. StorageUnitCursor->~ODStorageUnitCursor
  38322. æT Class Method
  38323. æD ~ODStorageUnitCursor();
  38324.  
  38325. æC Protection
  38326.     Public.  
  38327.  
  38328. Override policy
  38329.     Derived class can override.
  38330.     Derived class must call base class behavior, after derived class behavior.
  38331.  
  38332. Basic operation
  38333. This is the destructor for the class.
  38334.  
  38335. Inputs
  38336. None
  38337.  
  38338. Outputs
  38339. None
  38340.  
  38341. Exceptions Signalled
  38342. None.
  38343.  
  38344. Pre conditions
  38345. None.
  38346.  
  38347. Post conditions
  38348. None.
  38349.  
  38350. æKY ODStorageUnitCursor::GetProperty
  38351. StorageUnitCursor::GetProperty
  38352. StorageUnitCursor->GetProperty
  38353. æT Class Method
  38354. æD void GetProperty(
  38355. ODPropertyName* propertyName);
  38356.  
  38357. æC Protection
  38358.     Public.  
  38359.  
  38360. Override policy
  38361.     Derived class can override.
  38362.     Derived class can call base class behavior, during derived class behavior.
  38363.  
  38364. Basic operation
  38365. Returns the property of this cursor.
  38366.  
  38367. Inputs
  38368. None.
  38369.  
  38370. Outputs
  38371. propertyName
  38372.     Property Name for the focus context.
  38373.  
  38374. Exceptions Signalled
  38375. valueIndex
  38376.     Value index for the focus context.
  38377. valueIndex
  38378.     Value index for the focus context.
  38379.  
  38380. Pre conditions
  38381. None.
  38382.  
  38383. Post conditions
  38384. None.
  38385.  
  38386. æKY ODStorageUnitCursor::GetValueIndex
  38387. StorageUnitCursor::GetValueIndex
  38388. StorageUnitCursor->GetValueIndex
  38389. æT Class Method
  38390. æD void GetValueIndex(
  38391. ODValueIndex* valueIndex);
  38392.  
  38393. æC Protection
  38394.     Public.  
  38395.  
  38396. Override policy
  38397.     Derived class can override.
  38398.     Derived class can call base class behavior, during derived class behavior.
  38399.  
  38400. Basic operation
  38401. Returns the value index of this cursor.
  38402.  
  38403. Inputs
  38404. None.
  38405.  
  38406. Outputs
  38407. valueIndex
  38408.     Value Index for the focus context.
  38409.  
  38410. Exceptions Signalled
  38411. valueIndex
  38412.     Value index for the focus context.
  38413. valueIndex
  38414.     Value index for the focus context.
  38415.  
  38416. Pre conditions
  38417. None.
  38418.  
  38419. Post conditions
  38420. None.
  38421.  
  38422. æKY ODStorageUnitCursor::GetValueType
  38423. StorageUnitCursor::GetValueType
  38424. StorageUnitCursor->GetValueType
  38425. æT Class Method
  38426. æD void GetValueType(
  38427. ODValueType* valueType);
  38428.  
  38429. æC Protection
  38430.     Public.  
  38431.  
  38432. Override policy
  38433.     Derived class can override.
  38434.     Derived class can call base class behavior, during derived class behavior.
  38435.  
  38436. Basic operation
  38437. Returns the value type of this cursor.
  38438.  
  38439. Inputs
  38440. None.
  38441.  
  38442. Outputs
  38443. valueType
  38444.     Value Type for the focus context.
  38445.  
  38446. Exceptions Signalled
  38447. valueIndex
  38448.     Value index for the focus context.
  38449. valueIndex
  38450.     Value index for the focus context.
  38451.  
  38452. Pre conditions
  38453. None.
  38454.  
  38455. Post conditions
  38456. None.
  38457.  
  38458. æKY ODStorageUnitCursor::InitStorageUnitCursor
  38459. StorageUnitCursor::InitStorageUnitCursor
  38460. StorageUnitCursor->InitStorageUnitCursor
  38461. æT Class Method
  38462. æD void InitStorageUnitCursor(
  38463. ODPropertyName propertyName,
  38464. ODValueType valueType,
  38465. ODValueIndex valueIndex);
  38466.  
  38467. æC Protection
  38468.     Public.  
  38469.  
  38470. Override policy
  38471.     Derived class can override.
  38472.     Derived class can call base class behavior, before derived class behavior.
  38473.  
  38474. Basic operation
  38475. Initializes this object with the focus context. propertyName must be
  38476. supplied. 
  38477. If valueType is kODNULL and valueIndex is 0, the focus context is to
  38478. the specified Property.
  38479. If valueType is not kODNULL, the focus context is the value with the
  38480. specified type.
  38481. If valueType is kODNULL and valueIndex is not 0, the focus context is
  38482. the indexed value.
  38483.  
  38484. Inputs
  38485. propertyName
  38486.     Property Name for the focus context.   
  38487. valueType
  38488.     Value Type for the focus context.
  38489. valueIndex
  38490.     Value index for the focus context.
  38491.  
  38492. Outputs
  38493. None
  38494.  
  38495. Exceptions Signalled
  38496. kODErrInvalidProperty
  38497.     Property Name is kODNULL.
  38498.  
  38499. Pre conditions
  38500. None.
  38501.  
  38502. Post conditions
  38503. this object is a fully functional ODStorageUnitCursor (i.e., it can be
  38504. used for ODStorageUnit::Focus).
  38505.  
  38506. æKY ODStorageUnitCursor::SetProperty
  38507. StorageUnitCursor::SetProperty
  38508. StorageUnitCursor->SetProperty
  38509. æT Class Method
  38510. æD void SetProperty(
  38511. ODPropertyName propertyName);
  38512.  
  38513. æC Protection
  38514.     Public.  
  38515.  
  38516. Override policy
  38517.     Derived class can override.
  38518.     Derived class can call base class behavior, during derived class behavior.
  38519.  
  38520. Basic operation
  38521. Set the property of this cursor.
  38522.  
  38523. Inputs
  38524. propertyName
  38525.     Property Name
  38526.  
  38527. Outputs
  38528. None.
  38529.  
  38530. Exceptions Signalled
  38531. valueIndex
  38532.     Value index for the focus context.
  38533. valueIndex
  38534.     Value index for the focus context.
  38535.  
  38536. Pre conditions
  38537. None.
  38538.  
  38539. Post conditions
  38540. None.
  38541.  
  38542. æKY ODStorageUnitCursor::SetValueIndex
  38543. StorageUnitCursor::SetValueIndex
  38544. StorageUnitCursor->SetValueIndex
  38545. æT Class Method
  38546. æD void SetValueIndex(
  38547. ODValueIndex* valueIndex);
  38548.  
  38549. æC Protection
  38550.     Public.  
  38551.  
  38552. Override policy
  38553.     Derived class can override.
  38554.     Derived class can call base class behavior, during derived class behavior.
  38555.  
  38556. Basic operation
  38557. Set the value index of this cursor.
  38558.  
  38559. Inputs
  38560. valueIndex
  38561.     valueIndex
  38562.  
  38563. Outputs
  38564. None.
  38565.  
  38566. Exceptions Signalled
  38567. valueIndex
  38568.     Value index for the focus context.
  38569. valueIndex
  38570.     Value index for the focus context.
  38571.  
  38572. Pre conditions
  38573. None.
  38574.  
  38575. Post conditions
  38576. None.
  38577.  
  38578. æKY ODStorageUnitCursor::SetValueType
  38579. StorageUnitCursor::SetValueType
  38580. StorageUnitCursor->SetValueType
  38581. æT Class Method
  38582. æD void SetValueType(
  38583. ODValueType valueType);
  38584.  
  38585. æC Protection
  38586.     Public.  
  38587.  
  38588. Override policy
  38589.     Derived class can override.
  38590.     Derived class can call base class behavior, during derived class behavior.
  38591.  
  38592. Basic operation
  38593. Set the value type of this cursor.
  38594.  
  38595. Inputs
  38596. valueType
  38597.     valueType
  38598.  
  38599. Outputs
  38600. None.
  38601.  
  38602. Exceptions Signalled
  38603. valueIndex
  38604.     Value index for the focus context.
  38605. valueIndex
  38606.     Value index for the focus context.
  38607.  
  38608. Pre conditions
  38609. None.
  38610.  
  38611. Post conditions
  38612. None.
  38613.  
  38614. æKY ODStorageUnitCursor::fCurProperty
  38615. StorageUnitCursor::fCurProperty
  38616. æT Class Field
  38617. æD ODPropertyName
  38618. æC Persistent form
  38619. None.
  38620.  
  38621. æKY ODStorageUnitCursor::fCurValue
  38622. StorageUnitCursor::fCurValue
  38623. æT Class Field
  38624. æD ODValueIndex
  38625. æC 
  38626. æKY ODStorageUnitCursor::fCurValueType
  38627. StorageUnitCursor::fCurValueType
  38628. æT Class Field
  38629. æD ODValueType
  38630. æC 
  38631.  
  38632. æKY ODStorageUnitRefIteratorHelp
  38633. ODStorageUnitRefIterator
  38634. StorageUnitRefIterator
  38635. æKL ODStorageUnitRefIterator::ODStorageUnitRefIterator
  38636. ODStorageUnitRefIterator::~ODStorageUnitRefIterator
  38637. ODStorageUnitRefIterator::First
  38638. ODStorageUnitRefIterator::InitStorageUnitRefIterator
  38639. ODStorageUnitRefIterator::IsNotComplete
  38640. ODStorageUnitRefIterator::Next
  38641. ODStorageUnitRefIterator::fNotComplete
  38642. ODStorageUnitRefIterator::fReference
  38643. ODStorageUnitRefIterator::fValue
  38644. æC Basic Class Documentation
  38645. ODStorageUnitRefIterator is a companion of ODStorageUnit , and is used
  38646. to iterate over the references in a Value.
  38647. ODStorageUnitRefIterator has no base class.
  38648. The class documented here (ODStorageUnitRefIterator) is an abstract
  38649. base class.  Container Suite Implementors should subclass
  38650. ODStorageUnitRefIterator to provide the functionality of a OpenDoc
  38651. StorageUnit Reference Iterator for their Container Suite.
  38652.  
  38653. Parts can instantiate this object when they need to iterate over all
  38654. the persistent references of a Value.
  38655.  
  38656. Theory of Operation
  38657. Given the state of the focused ODStorageUnit object,
  38658. ODStorageUnitRefIterator allows the developer to iterate over all the
  38659. references in a Value, using the iterator's First(), Next() and
  38660. IsNotComplete() methods. 
  38661.  
  38662. Invariants Maintained by Class
  38663. ODStorageUnitRef cannot be created or deleted during iteration.
  38664. ODStorageUnit must remain focused to the Value on which
  38665. ODStorageUnitRefIterator is iterating.
  38666. The client of this class must check to see whether the reference
  38667. returned by First or Next is valid or not by calling IsNotComplete.
  38668. æKY ODStorageUnitRefIterator::ODStorageUnitRefIterator
  38669. StorageUnitRefIterator::ODStorageUnitRefIterator
  38670. StorageUnitRefIterator->ODStorageUnitRefIterator
  38671. æT Class Method
  38672. æD ODStorageUnitRefIterator();
  38673.  
  38674. æC Protection
  38675.     Public.  
  38676.  
  38677. Override policy
  38678.     Derived class must override.
  38679.     Derived class must call base class behavior, before derived class behavior.
  38680.  
  38681. Basic operation
  38682. Constructs the iterator.
  38683.  
  38684. Inputs
  38685. None.
  38686.  
  38687. Outputs
  38688. None
  38689.  
  38690. Exceptions Signalled
  38691. None.
  38692.  
  38693. Pre conditions
  38694. None.
  38695.  
  38696. Post conditions
  38697. A properly constructed iterator.
  38698.  
  38699. æKY ODStorageUnitRefIterator::~ODStorageUnitRefIterator
  38700. StorageUnitRefIterator::~ODStorageUnitRefIterator
  38701. StorageUnitRefIterator->~ODStorageUnitRefIterator
  38702. æT Class Method
  38703. æD ~ODStorageUnitRefIterator();
  38704.  
  38705. æC Protection
  38706.     Public.  
  38707.  
  38708. Override policy
  38709.     Derived class must override.
  38710.     Derived class must call base class behavior, after derived class behavior.
  38711.  
  38712. Basic operation
  38713. This is the destructor of the class.
  38714.  
  38715. Inputs
  38716. None.
  38717.  
  38718. Outputs
  38719. None.
  38720.  
  38721. Exceptions Signalled
  38722. None.
  38723.  
  38724. Pre conditions
  38725. this is a valid ODStorageUnitRefIterator object.
  38726.  
  38727. Post conditions
  38728. this is no longer a valid ODStorageUnitRefIterator object.
  38729.  
  38730. æKY ODStorageUnitRefIterator::First
  38731. StorageUnitRefIterator::First
  38732. StorageUnitRefIterator->First
  38733. æT Class Method
  38734. æD void  First(
  38735. out ODStorageUnitRef ref);
  38736.  
  38737. æC Protection
  38738.     Public.  
  38739.  
  38740. Override policy
  38741.     Derived class must override.
  38742.     Derived class cannot call base class behavior, during derived class behavior.
  38743.  
  38744. Basic operation
  38745. Returns the first reference in the Value if such a reference exists. 
  38746. If no such reference exists, the return value is undefined.
  38747.  
  38748. Inputs
  38749. None
  38750.  
  38751. Outputs
  38752. ref
  38753.     The first ODStorageUnitRef in the focused Value of the ODStorageUnit.
  38754.  
  38755. Exceptions Signalled
  38756. None.
  38757.  
  38758. Pre conditions
  38759. None.
  38760.  
  38761. Post conditions
  38762. None.
  38763.  
  38764. æKY ODStorageUnitRefIterator::InitStorageUnitRefIterator
  38765. StorageUnitRefIterator::InitStorageUnitRefIterator
  38766. StorageUnitRefIterator->InitStorageUnitRefIterator
  38767. æT Class Method
  38768. æD void InitStorageUnitRefIterator(
  38769. ODStorageUnit* storageUnit);
  38770.  
  38771. æC Protection
  38772.     Public.  
  38773.  
  38774. Override policy
  38775.     Derived class must override.
  38776.     Derived class must call base class behavior, before derived class behavior.
  38777.  
  38778. Basic operation
  38779. Initializes this ODStorageUnitRefIterator object.
  38780.  
  38781. Inputs
  38782. None.
  38783.  
  38784. Outputs
  38785. None.
  38786.  
  38787. Exceptions Signalled
  38788. None.
  38789.  
  38790. Pre conditions
  38791. None.
  38792.  
  38793. Post conditions
  38794. None.
  38795.  
  38796. æKY ODStorageUnitRefIterator::IsNotComplete
  38797. StorageUnitRefIterator::IsNotComplete
  38798. StorageUnitRefIterator->IsNotComplete
  38799. æT Class Method
  38800. æD ODBoolean IsNotComplete();
  38801.  
  38802. æC Protection
  38803.     Public.  
  38804.  
  38805. Override policy
  38806.     Derived class must override.
  38807.     Derived class cannot call base class behavior, during derived class behavior.
  38808.  
  38809. Basic operation
  38810. Returns kODTrue if the iteration is not complete, kODFalse otherwise.
  38811.  
  38812. Inputs
  38813. None
  38814.  
  38815. Outputs
  38816. <return>
  38817.     Boolean showing whether the iteration is incomplete.
  38818.  
  38819. Exceptions Signalled
  38820. None.
  38821.  
  38822. Pre conditions
  38823. A constructed object of this class.
  38824.  
  38825. Post conditions
  38826. Result contains kODTrue if there are more references, kODFalse
  38827. otherwise.
  38828.  
  38829. æKY ODStorageUnitRefIterator::Next
  38830. StorageUnitRefIterator::Next
  38831. StorageUnitRefIterator->Next
  38832. æT Class Method
  38833. æD void     Next(
  38834. out ODStorageUnitRef ref);
  38835.  
  38836. æC Protection
  38837.     Public.  
  38838.  
  38839. Override policy
  38840.     Derived class must override.
  38841.     Derived class cannot call base class behavior, during derived class behavior.
  38842.  
  38843. Basic operation
  38844. Returns the next reference in the Value if such a reference exists. If
  38845. no such reference exists, the return value is undefined.
  38846.  
  38847. Inputs
  38848. None
  38849.  
  38850. Outputs
  38851. ref
  38852.     The next reference in the Value.
  38853.  
  38854. Exceptions Signalled
  38855. None.
  38856.  
  38857. Pre conditions
  38858. First() has been called.
  38859.  
  38860. Post conditions
  38861. Result contains the next reference.
  38862.  
  38863. æKY ODStorageUnitRefIterator::fNotComplete
  38864. StorageUnitRefIterator::fNotComplete
  38865. æT Class Field
  38866. æD ODBoolean fNotComplete;
  38867. æC Persistent form
  38868. None.
  38869.  
  38870. æKY ODStorageUnitRefIterator::fReference
  38871. StorageUnitRefIterator::fReference
  38872. æT Class Field
  38873. æD CMReference fReference
  38874. æC Persistent form
  38875. None.
  38876.  
  38877. æKY ODStorageUnitRefIterator::fValue
  38878. StorageUnitRefIterator::fValue
  38879. æT Class Field
  38880. æD CMValue fValue;
  38881. æC 
  38882.  
  38883. æKY ODStorageUnitViewHelp
  38884. ODStorageUnitView
  38885. StorageUnitView
  38886. æKL ODStorageUnitView::ODStorageUnitView
  38887. ODStorageUnitView::~ODStorageUnitView
  38888. ODStorageUnitView::AddProperty
  38889. ODStorageUnitView::AddValue
  38890. ODStorageUnitView::CloneInto
  38891. ODStorageUnitView::CopyTo
  38892. ODStorageUnitView::CreateStorageUnitRefIterator
  38893. ODStorageUnitView::DeleteValue
  38894. ODStorageUnitView::Externalize
  38895. ODStorageUnitView::GetCursor
  38896. ODStorageUnitView::GetGenerationNumber
  38897. ODStorageUnitView::GetID
  38898. ODStorageUnitView::GetIDFromStorageUnitRef
  38899. ODStorageUnitView::GetName
  38900. ODStorageUnitView::GetOffset
  38901. ODStorageUnitView::GetPromiseValue
  38902. ODStorageUnitView::GetProperty
  38903. ODStorageUnitView::GetSize
  38904. ODStorageUnitView::GetStorageUnit
  38905. ODStorageUnitView::GetStorageUnitRefIterator
  38906. ODStorageUnitView::GetStrongStorageUnitRef
  38907. ODStorageUnitView::GetType
  38908. ODStorageUnitView::GetValue
  38909. ODStorageUnitView::GetWeakStorageUnitRef
  38910. ODStorageUnitView::IncrementGenerationNumber
  38911. ODStorageUnitView::InitStorageUnitView
  38912. ODStorageUnitView::InsertValue
  38913. ODStorageUnitView::Internalize
  38914. ODStorageUnitView::IsPromiseValue
  38915. ODStorageUnitView::IsStrongStorageUnitRef
  38916. ODStorageUnitView::IsValidStorageUnitRef
  38917. ODStorageUnitView::IsWeakStorageUnitRef
  38918. ODStorageUnitView::Purge
  38919. ODStorageUnitView::Remove
  38920. ODStorageUnitView::RemoveStorageUnitRef
  38921. ODStorageUnitView::SetName
  38922. ODStorageUnitView::SetOffset
  38923. ODStorageUnitView::SetPromiseValue
  38924. ODStorageUnitView::SetType
  38925. ODStorageUnitView::SetValue
  38926. ODStorageUnitView::fCursor
  38927. ODStorageUnitView::fSU
  38928. æC Basic Class Documentation
  38929. This class is derived from ODObject.
  38930. This class is implemented by Platform Implementors. It should be able
  38931. to work with ODStorageUnit and ODStorageUnitCursor of any Container
  38932. Suite.
  38933. Most methods of this class is not intended to be overriden.
  38934.  
  38935. Theory of Operation
  38936. A ODStorageUnitView provides an easy and thread-safe way to access a
  38937. specific Property or a Value of a Storage Unit. Many of the
  38938. ODStorageUnit methods are duplicated in ODStorageUnitView. A
  38939. ODStorageUnitView method in general obtains the semaphore to ensure
  38940. thread-safety, focuses the associated ODStorageUnit and calls the
  38941. corresponding ODStorageUnit method and releases the semaphore. Due to
  38942. this relations between ODStorageUnitView and ODStorageUnit,
  38943. ODStorageUnitView methods behave exactly the same as their
  38944. corresponding ODStorageUnit methods. That also means they return the
  38945. same exceptions. (For this reason, the documentation for exceptions is
  38946. omitted in this class. Please refer to documentation for ODStorageUnit
  38947. to get the full list of exceptions.)
  38948. ODStorageUnitView objects can be constructed directly (i.e., using the
  38949. constructor and Init method), or they can be obtained by a request to
  38950. a ODStorageUnit object. They may be deleted direcly by clients.
  38951.  
  38952. Parts can instantiate ODStorageUnitView.
  38953.  
  38954. Invariants Maintained by Class
  38955. The ODStorageUnit and ODStorageUnitCursor of a StorageUnitView are
  38956. specified in the InitStorageUnitView method, and these values never
  38957. change.
  38958. æKY ODStorageUnitView::ODStorageUnitView
  38959. StorageUnitView::ODStorageUnitView
  38960. StorageUnitView->ODStorageUnitView
  38961. æT Class Method
  38962. æD ODStorageUnitView();
  38963.  
  38964. æC Protection
  38965.     Public.  
  38966.  
  38967. Override policy
  38968.     Derived class can override.
  38969.     Derived class must call base class behavior, before derived class behavior.
  38970.  
  38971. Basic operation
  38972. This function is the constructor of the ODStorageUnitView object.
  38973.  
  38974. Inputs
  38975. None.
  38976.  
  38977. Outputs
  38978. <return>
  38979.     this
  38980.  
  38981. Exceptions Signalled
  38982. None.
  38983.  
  38984. Pre conditions
  38985. None.
  38986.  
  38987. Post conditions
  38988. this is an uninitialized ODStorageUnitView object.
  38989.  
  38990. æKY ODStorageUnitView::~ODStorageUnitView
  38991. StorageUnitView::~ODStorageUnitView
  38992. StorageUnitView->~ODStorageUnitView
  38993. æT Class Method
  38994. æD ~ODStorageUnitView();
  38995.  
  38996. æC Protection
  38997.     Public.  
  38998.  
  38999. Override policy
  39000.     Derived class can override.
  39001.     Derived class must call base class behavior, after derived class behavior.
  39002.  
  39003. Basic operation
  39004. This is the destructor of the ODStorageUnitView object. 
  39005. This method releases the ODStorageUnit with which this
  39006. ODStorageUnitView object is associated and deletes the cursor which
  39007. provides the context.
  39008. Note that this method does not externalize the ODStorageUnit.
  39009.  
  39010. Inputs
  39011. none
  39012.  
  39013. Outputs
  39014. none
  39015.  
  39016. Exceptions Signalled
  39017. None.
  39018.  
  39019. Pre conditions
  39020. None.
  39021.  
  39022. Post conditions
  39023. this is no longer a valid ODStorageUnitView object.
  39024.  
  39025. æKY ODStorageUnitView::AddProperty
  39026. StorageUnitView::AddProperty
  39027. StorageUnitView->AddProperty
  39028. æT Class Method
  39029. æD ODStorageUnitView* AddProperty(
  39030. ODPropertyName propertyName);
  39031.  
  39032. æC Protection
  39033.     Public.  
  39034.  
  39035. Override policy
  39036.     Derived class cannot override.
  39037.     Derived class cannot call base class behavior, during derived class behavior.
  39038.  
  39039. Basic operation
  39040. Adds a Property to the Storage Unit this ODStorageUnitView is viewing.
  39041. The resulting ODStorageUnit will have the new Property as the focus
  39042. even though the ODStorageUnitView will maintain the cursor.
  39043.  
  39044. Inputs
  39045. ODPropertyName
  39046.  
  39047. Outputs
  39048. none
  39049.  
  39050. Exceptions Signalled
  39051. None.
  39052.  
  39053. Pre conditions
  39054. Its ODStorageUnitCursor corresponds to a particular Property of the
  39055. ODStorageUnit.
  39056.  
  39057. Post conditions
  39058. The viewed ODStorageUnit has a focus on the new Property.
  39059.  
  39060. æKY ODStorageUnitView::AddValue
  39061. StorageUnitView::AddValue
  39062. StorageUnitView->AddValue
  39063. æT Class Method
  39064. æD ODStorageUnitView* AddValue(
  39065. ODValueType type);
  39066.  
  39067. æC Protection
  39068.     Public.  
  39069.  
  39070. Override policy
  39071.     Derived class cannot override.
  39072.     Derived class cannot call base class behavior, during derived class behavior.
  39073.  
  39074. Basic operation
  39075. Adds a Value to the ODStorageUnit it is viewing. The resulting
  39076. ODStorageUnit will have a new Value with the focus on it. This
  39077. ODStorageUnitView will maintain its cursor.
  39078.  
  39079. Inputs
  39080. none
  39081.  
  39082. Outputs
  39083. none
  39084.  
  39085. Exceptions Signalled
  39086. None.
  39087.  
  39088. Pre conditions
  39089. Its ODStorageUnitCursor corresponds to a particular value of the
  39090. ODStorageUnit.
  39091.  
  39092. Post conditions
  39093. The viewed ODStorageUnit has a veiw on the added Value.
  39094.  
  39095. æKY ODStorageUnitView::CloneInto
  39096. StorageUnitView::CloneInto
  39097. StorageUnitView->CloneInto
  39098. æT Class Method
  39099. æD void CloneInto(
  39100. ODDraftKey key,
  39101. ODStorageUnit* destSU,
  39102. ODStorageUnitID scopeID);
  39103.  
  39104. æC Protection
  39105.     Public.  
  39106.  
  39107. Override policy
  39108.     Derived class cannot override.
  39109.     Derived class cannot call base class behavior, during derived class behavior.
  39110.  
  39111. Basic operation
  39112. Deep-copy all Properties and Values of the Storage Unit this
  39113. ODStorageUnitView is viewing to the specified destStorageUnit.
  39114. In order to avoid copying extra Storage Units during the deep-copy, a
  39115. scopeID may be specified. If scopeID is not 0, only those Storage
  39116. Units reachable from storage unit or object with scopeID will be
  39117. copied. If scopeID is 0, all the Storage Units reachable from this
  39118. Storage Unit/object will be copied.
  39119. Note that the actual copying may not be completed until after EndClone
  39120. is finished.
  39121.  
  39122. Inputs
  39123. key
  39124.     ODDraftKey identifying the Clone transaction. 
  39125. destStorageUnit
  39126.     Destination Storage Unit to where this Stoage Unit is copied.
  39127. scopeID
  39128.     All Storage Units cloned from this point on should be within the scope
  39129. of this ODFrame.
  39130.  
  39131. Outputs
  39132. None.
  39133.  
  39134. Exceptions Signalled
  39135. None.
  39136.  
  39137. Pre conditions
  39138. None.
  39139.  
  39140. Post conditions
  39141. None.
  39142.  
  39143. æKY ODStorageUnitView::CopyTo
  39144. StorageUnitView::CopyTo
  39145. StorageUnitView->CopyTo
  39146. æT Class Method
  39147. æD void CopyTo(
  39148. ODStorageUnit* toSU);
  39149.  
  39150. æC Protection
  39151.     Public.  
  39152.  
  39153. Override policy
  39154.     Derived class cannot override.
  39155.     Derived class cannot call base class behavior, during derived class behavior.
  39156.  
  39157. Basic operation
  39158. Shallow copies properties and values from the ODStorageUnit this
  39159. ODStorageUnitView is viewing to toSU.
  39160.  
  39161. Inputs
  39162. toSU
  39163.     the storage unit to which data is to be copied
  39164.  
  39165. Outputs
  39166. none
  39167.  
  39168. Exceptions Signalled
  39169. None.
  39170.  
  39171. Pre conditions
  39172. None.
  39173.  
  39174. Post conditions
  39175. All properties and values of the ODStorageUnit this ODStorageUnitView
  39176. object is viewing have the respective properties and values in toSU.
  39177. The focus of the viewed ODStorageUnit is undefined.
  39178.  
  39179. æKY ODStorageUnitView::CreateStorageUnitRefIterator
  39180. StorageUnitView::CreateStorageUnitRefIterator
  39181. StorageUnitView->CreateStorageUnitRefIterator
  39182. æT Class Method
  39183. æD ODStorageUnitRefIterator CreateStorageUnitRefIterator();
  39184.  
  39185. æC Protection
  39186.     Public.  
  39187.  
  39188. Override policy
  39189.     Derived class can override.
  39190.     Derived class can call base class behavior, before derived class behavior.
  39191.  
  39192. Basic operation
  39193. This function returns a ODStorageUnitRefIterator which allows the
  39194. caller to access all the Storage Unit References in the focused value.
  39195.  
  39196. Inputs
  39197. None.
  39198.  
  39199. Outputs
  39200. <return>
  39201.     ODStorageUnitRefIterator which allows the caller to access all the
  39202. Storage Unit References in the focused value
  39203.  
  39204. Exceptions Signalled
  39205. None.
  39206.  
  39207. Pre conditions
  39208. None.
  39209.  
  39210. Post conditions
  39211. None.
  39212.  
  39213. æKY ODStorageUnitView::DeleteValue
  39214. StorageUnitView::DeleteValue
  39215. StorageUnitView->DeleteValue
  39216. æT Class Method
  39217. æD void   DeleteValue(
  39218. ODULong length);
  39219.  
  39220. æC Protection
  39221.     Public.  
  39222.  
  39223. Override policy
  39224.     Derived class cannot override.
  39225.     Derived class cannot call base class behavior, during derived class behavior.
  39226.  
  39227. Basic operation
  39228. Delete length bytes at the current offset (inclusive) in the focused
  39229. Value.
  39230.  If the focused Value is a Promise Value, the Promise is resolved
  39231. first before insertion is done.
  39232.  
  39233. Inputs
  39234. offset
  39235.     the offset into the focussed value
  39236. length
  39237.     the length of bytes to delete from the focussed value
  39238.  
  39239. Outputs
  39240. none
  39241.  
  39242. Exceptions Signalled
  39243. None.
  39244.  
  39245. Pre conditions
  39246. Its ODStorageUnitCursor corresponds to a particular value of the
  39247. ODStorageUnit.
  39248.  
  39249. Post conditions
  39250. length bytes at the current offset in the currently focused value have
  39251. been deleted.
  39252. The focus of the viewed ODStorageUnit is on the context specified by
  39253. the cursor of this ODStorageUnitView object.
  39254.  
  39255. æKY ODStorageUnitView::Externalize
  39256. StorageUnitView::Externalize
  39257. StorageUnitView->Externalize
  39258. æT Class Method
  39259. æD ODStorageUnitView* Externalize();
  39260.  
  39261. æC Protection
  39262.     Public.  
  39263.  
  39264. Override policy
  39265.     Derived class cannot override.
  39266.     Derived class cannot call base class behavior, during derived class behavior.
  39267.  
  39268. Basic operation
  39269. Makes all changes of the ODStorageUnit this ODStorageUnitView object
  39270. is viewing persistent.
  39271.  
  39272. Inputs
  39273. none
  39274.  
  39275. Outputs
  39276. <return>
  39277.     this
  39278.  
  39279. Exceptions Signalled
  39280. None.
  39281.  
  39282. Pre conditions
  39283. None.
  39284.  
  39285. Post conditions
  39286. All properties and values in the associated ODStorageUnit have
  39287. persistently written out and are no longer dependent on their
  39288. ephemeral storage representation.
  39289. The focus of the viewed ODStorageUnit is undefined.
  39290.  
  39291. æKY ODStorageUnitView::GetCursor
  39292. StorageUnitView::GetCursor
  39293. StorageUnitView->GetCursor
  39294. æT Class Method
  39295. æD ODStorageUnitCursor* GetCursor();
  39296.  
  39297. æC Protection
  39298.     Public.  
  39299.  
  39300. Override policy
  39301.     Derived class can override.
  39302.     Derived class can call base class behavior, during derived class behavior.
  39303.  
  39304. Basic operation
  39305. Returns the ODStorageUnitCursor used to focus the ODStorageUnit.
  39306.  
  39307. Inputs
  39308. none
  39309.  
  39310. Outputs
  39311. <return>
  39312.     ODStorageUnitCursor which provides the context for this
  39313. ODStorageUnitView object.
  39314.  
  39315. Exceptions Signalled
  39316. None.
  39317.  
  39318. Pre conditions
  39319. None.
  39320.  
  39321. Post conditions
  39322. None.
  39323.  
  39324. æKY ODStorageUnitView::GetGenerationNumber
  39325. StorageUnitView::GetGenerationNumber
  39326. StorageUnitView->GetGenerationNumber
  39327. æT Class Method
  39328. æD ODULong GetGenerationNumber();
  39329.  
  39330. æC Protection
  39331.     Public.  
  39332.  
  39333. Override policy
  39334.     Derived class cannot override.
  39335.     Derived class cannot call base class behavior, before derived class behavior.
  39336.  
  39337. Basic operation
  39338. Returns the generation number of the Value this ODStorageUnitView
  39339. object is viewing.
  39340.  
  39341. Inputs
  39342. none
  39343.  
  39344. Outputs
  39345. <return>
  39346.     Generation number of the focused value
  39347.  
  39348. Exceptions Signalled
  39349. None.
  39350.  
  39351. Pre conditions
  39352. Its ODStorageUnitCursor corresponds to a particular value of the
  39353. ODStorageUnit.
  39354.  
  39355. Post conditions
  39356. The focus of the viewed ODStorageUnit is on the context specified by
  39357. the cursor of this ODStorageUnitView object.
  39358.  
  39359. æKY ODStorageUnitView::GetID
  39360. StorageUnitView::GetID
  39361. StorageUnitView->GetID
  39362. æT Class Method
  39363. æD ODID GetID();
  39364.  
  39365. æC Protection
  39366.     Public.  
  39367.  
  39368. Override policy
  39369.     Derived class cannot override.
  39370.     Derived class cannot call base class behavior, during derived class behavior.
  39371.  
  39372. Basic operation
  39373. Returns the persistent ID of the ODStorageUnit object this
  39374. ODStorageUnitView object is viewing.
  39375.  
  39376. Inputs
  39377. none
  39378.  
  39379. Outputs
  39380. <return>
  39381.     ID of the ODStorageUnit object this object is viewing.
  39382.  
  39383. Exceptions Signalled
  39384. None.
  39385.  
  39386. Pre conditions
  39387. None.
  39388.  
  39389. Post conditions
  39390. None.
  39391.  
  39392. æKY ODStorageUnitView::GetIDFromStorageUnitRef
  39393. StorageUnitView::GetIDFromStorageUnitRef
  39394. StorageUnitView->GetIDFromStorageUnitRef
  39395. æT Class Method
  39396. æD ODStorageUnitID GetIDFromStorageUnitRef(
  39397. ODStorageUnitRef ref);
  39398.  
  39399. æC Protection
  39400.     Public.  
  39401.  
  39402. Override policy
  39403.     Derived class cannot override.
  39404.     Derived class cannot call base class behavior, during derived class behavior.
  39405.  
  39406. Basic operation
  39407. Resolves the given ref to a ODStorageUnitID and returns the
  39408. ODStorageUnitID. If the specified ref cannot be resolved, an exception
  39409. is raised.
  39410.  
  39411. Inputs
  39412. ref
  39413.     persistent reference to be resolved.
  39414.  
  39415. Outputs
  39416. ODStorageUnitID
  39417.     ID of the embedded StorageUnit.
  39418.  
  39419. Exceptions Signalled
  39420. kODNotValueFocussed
  39421.  
  39422. Pre conditions
  39423. Its ODStorageUnitCursor corresponds to a particular value of the
  39424. ODStorageUnit.
  39425. ref must be generated by GetStrongStorageUnitRef or
  39426. GetWeakStorageUnitRef.
  39427.  
  39428. Post conditions
  39429. The focus of the viewed ODStorageUnit is on the context specified by
  39430. the cursor of this ODStorageUnitView object.
  39431.  
  39432. æKY ODStorageUnitView::GetName
  39433. StorageUnitView::GetName
  39434. StorageUnitView->GetName
  39435. æT Class Method
  39436. æD ODName* GetName();
  39437.  
  39438. æC Protection
  39439.     Public.  
  39440.  
  39441. Override policy
  39442.     Derived class cannot override.
  39443.     Derived class cannot call base class behavior, before derived class behavior.
  39444.  
  39445. Basic operation
  39446. Returns the name of the Storage Unit this ODStorageUnitView is
  39447. viewing.
  39448.  
  39449. Inputs
  39450. none
  39451.  
  39452. Outputs
  39453. <return>
  39454.     the name of the focus
  39455.  
  39456. Exceptions Signalled
  39457. None.
  39458.  
  39459. Pre conditions
  39460. None.
  39461.  
  39462. Post conditions
  39463. None.
  39464.  
  39465. æKY ODStorageUnitView::GetOffset
  39466. StorageUnitView::GetOffset
  39467. StorageUnitView->GetOffset
  39468. æT Class Method
  39469. æD ODULong  GetOffset();
  39470.  
  39471. æC Protection
  39472.     Public.  
  39473.  
  39474. Override policy
  39475.     Derived class cannot override.
  39476.     Derived class cannot call base class behavior, before derived class behavior.
  39477.  
  39478. Basic operation
  39479. Return the offset of the Value this ODStorageUnitVeiw is viewing.
  39480.  
  39481. Inputs
  39482. none
  39483.  
  39484. Outputs
  39485. <return>
  39486.     Offset of the current Value.
  39487.  
  39488. Exceptions Signalled
  39489. kODNotValueFocussed
  39490.  
  39491. Pre conditions
  39492. Its ODStorageUnitCursor corresponds to a particular Value of the
  39493. Storage Unit.
  39494.  
  39495. Post conditions
  39496. None.
  39497.  
  39498. æKY ODStorageUnitView::GetPromiseValue
  39499. StorageUnitView::GetPromiseValue
  39500. StorageUnitView->GetPromiseValue
  39501. æT Class Method
  39502. æD ODULong  GetPromiseValue(
  39503. in ODValueType valueType,
  39504. in ODULong offset,
  39505. in ODULong length,
  39506. out ODByteArray value,
  39507. out ODPart sourcePart);
  39508.  
  39509. æC Protection
  39510.     Public.  
  39511.  
  39512. Override policy
  39513.     Derived class cannot override.
  39514.     Derived class cannot call base class behavior, during derived class behavior.
  39515.  
  39516. Basic operation
  39517. Get the promise data in the Value this ODStorageUnitView object is
  39518. viewing.  This does not resolve the promise. The _buffer is
  39519. ODByteArray is allocated by ODStorageUnitView and needs to be disposed
  39520. of by the caller using ODDisposePtr.
  39521.  
  39522. Inputs
  39523. valueType
  39524.     Type of the Value containing the desired promise data.
  39525. offset
  39526.     Offset from where the desired promise data should be retrieved.
  39527. length
  39528.     Length of desired promise data.
  39529. value
  39530.     ODByteArray used to contain the desired promise data.
  39531.  
  39532. Outputs
  39533. <return>
  39534.     Number of bytes read.
  39535. value
  39536.     Buffer containing the promise data.
  39537.  
  39538. Exceptions Signalled
  39539. None.
  39540.  
  39541. Pre conditions
  39542. Its ODStorageUnitCursor corresponds to a particular value of the
  39543. ODStorageUnit.
  39544.  
  39545. Post conditions
  39546. length bytes have been read from offset in the value of the given
  39547. valueType into the value parameter.
  39548. The focus of the viewed ODStorageUnit is on the context specified by
  39549. the cursor of this ODStorageUnitView object.
  39550.  
  39551. æKY ODStorageUnitView::GetProperty
  39552. StorageUnitView::GetProperty
  39553. StorageUnitView->GetProperty
  39554. æT Class Method
  39555. æD ODPropertyName    GetProperty();
  39556.  
  39557. æC Protection
  39558.     Public.  
  39559.  
  39560. Override policy
  39561.     Derived class cannot override.
  39562.     Derived class cannot call base class behavior, during derived class behavior.
  39563.  
  39564. Basic operation
  39565. Returns the Property Name in the cursor of this ODStorageView object.
  39566.  
  39567. Inputs
  39568. None.
  39569.  
  39570. Outputs
  39571. <return>
  39572.     Property name.
  39573.  
  39574. Exceptions Signalled
  39575. None.
  39576.  
  39577. Pre conditions
  39578. Its ODStorageUnitCursor corresponds to a particular property or value
  39579. of the ODStorageUnit.
  39580.  
  39581. Post conditions
  39582. The focus of the viewed ODStorageUnit is on the context specified by
  39583. the cursor of this ODStorageUnitView object.
  39584.  
  39585. æKY ODStorageUnitView::GetSize
  39586. StorageUnitView::GetSize
  39587. StorageUnitView->GetSize
  39588. æT Class Method
  39589. æD ODULong GetSize();
  39590.  
  39591. æC Protection
  39592.     Public.  
  39593.  
  39594. Override policy
  39595.     Derived class cannot override.
  39596.     Derived class cannot call base class behavior, during derived class behavior.
  39597.  
  39598. Basic operation
  39599. Returns the size of the focused Property or Value this
  39600. ODStorageUnitView object is viewing.
  39601.  
  39602. Inputs
  39603. None.
  39604.  
  39605. Outputs
  39606. <return>
  39607.     Size of the focused Property or Value this ODStorageUnitView object is
  39608. viewing.
  39609.  
  39610. Exceptions Signalled
  39611. None.
  39612.  
  39613. Pre conditions
  39614. None.
  39615.  
  39616. Post conditions
  39617. None.
  39618.  
  39619. æKY ODStorageUnitView::GetStorageUnit
  39620. StorageUnitView::GetStorageUnit
  39621. StorageUnitView->GetStorageUnit
  39622. æT Class Method
  39623. æD ODStorageUnit* GetStorageUnit();
  39624.  
  39625. æC Protection
  39626.     Public.  
  39627.  
  39628. Override policy
  39629.     Derived class can override.
  39630.     Derived class can call base class behavior, during derived class behavior.
  39631.  
  39632. Basic operation
  39633. Returns the ODStorageUnit that this ODStorageUnitView is viewing. The
  39634. returned ODStorageUnit should be focused using the ODStorageUnitCursor
  39635. stored in this ODStorageUnitView object.
  39636.  
  39637. Inputs
  39638. none
  39639.  
  39640. Outputs
  39641. <return>
  39642.     ODStorageUnit this ODStorageUnitView is viewing.
  39643.  
  39644. Exceptions Signalled
  39645. None.
  39646.  
  39647. Pre conditions
  39648. None.
  39649.  
  39650. Post conditions
  39651. None.
  39652.  
  39653. æKY ODStorageUnitView::GetStorageUnitRefIterator
  39654. StorageUnitView::GetStorageUnitRefIterator
  39655. StorageUnitView->GetStorageUnitRefIterator
  39656. æT Class Method
  39657. æD ODStorageUnitRefIterator* GetStorageUnitRefIterator();
  39658.  
  39659. æC Protection
  39660.     Public.  
  39661.  
  39662. Override policy
  39663.     Derived class cannot override.
  39664.     Derived class cannot call base class behavior, during derived class behavior.
  39665.  
  39666. Basic operation
  39667. Returns an iterator for iterating over all the persistent references
  39668. created in the Value this ODStorageUnitRefIterator is viewing.
  39669.  
  39670. Inputs
  39671. None.
  39672.  
  39673. Outputs
  39674. <return>
  39675.     Iterator used to iterate over all persistent references in the focused
  39676. Value.
  39677.  
  39678. Exceptions Signalled
  39679. None.
  39680.  
  39681. Pre conditions
  39682. None.
  39683.  
  39684. Post conditions
  39685. None.
  39686.  
  39687. æKY ODStorageUnitView::GetStrongStorageUnitRef
  39688. StorageUnitView::GetStrongStorageUnitRef
  39689. StorageUnitView->GetStrongStorageUnitRef
  39690. æT Class Method
  39691. æD void GetStrongStorageUnitRef(
  39692. in ODStorageUnitID embeddedSUID,
  39693. out ODStorageUnitRef strongRef);
  39694.  
  39695. æC Protection
  39696.     Public.  
  39697.  
  39698. Override policy
  39699.     Derived class cannot override.
  39700.     Derived class cannot call base class behavior, during derived class behavior.
  39701.  
  39702. Basic operation
  39703. Returns a persistent reference to the Storage Unit refered to by
  39704. embeddedSUID. This persistent reference may be stored within the Value
  39705. this ODStorageUnitView is viewing and later used to retrieve the given
  39706. Storage Unit. The returned ODStorageUnitRef is strong in the sense
  39707. that the Storage Unit it refers to will be copied in the cloning
  39708. operation.
  39709.  
  39710. Inputs
  39711. embeddedSUID
  39712.     ODStorageUnitID referring to the Storage Unit whose persistent
  39713. reference is desired.
  39714.  
  39715. Outputs
  39716. strongRef
  39717.     persistent reference to the Storage Unit referred to by embeddedSU.
  39718.  
  39719. Exceptions Signalled
  39720. None.
  39721.  
  39722. Pre conditions
  39723. Its ODStorageUnitCursor corresponds to a particular value of the
  39724. ODStorageUnit.
  39725.  
  39726. Post conditions
  39727. The focus of the viewed ODStorageUnit is on the context specified by
  39728. the cursor of this ODStorageUnitView object.
  39729.  
  39730. æKY ODStorageUnitView::GetType
  39731. StorageUnitView::GetType
  39732. StorageUnitView->GetType
  39733. æT Class Method
  39734. æD ODValueType GetType();
  39735.  
  39736. æC Protection
  39737.     Public.  
  39738.  
  39739. Override policy
  39740.     Derived class cannot override.
  39741.     Derived class cannot call base class behavior, before derived class behavior.
  39742.  
  39743. Basic operation
  39744. Returns the type of the Value in the cursor of this ODStorageUnitView
  39745. object.
  39746.  
  39747. Inputs
  39748. none
  39749.  
  39750. Outputs
  39751. <return>
  39752.     the type of the focused particular value
  39753.  
  39754. Exceptions Signalled
  39755. None.
  39756.  
  39757. Pre conditions
  39758. Its ODStorageUnitCursor corresponds to a particular value of the
  39759. ODStorageUnit.
  39760.  
  39761. Post conditions
  39762. The focus of the viewed ODStorageUnit is on the context specified by
  39763. the cursor of this ODStorageUnitView object.
  39764.  
  39765. æKY ODStorageUnitView::GetValue
  39766. StorageUnitView::GetValue
  39767. StorageUnitView->GetValue
  39768. æT Class Method
  39769. æD ODULong    GetValue(
  39770. in ODULong length,
  39771. out ODByteArray value);
  39772.  
  39773. æC Protection
  39774.     Public.  
  39775.  
  39776. Override policy
  39777.     Derived class cannot override.
  39778.     Derived class cannot call base class behavior, before derived class behavior.
  39779.  
  39780. Basic operation
  39781. Reads length bytes from current offset of the Value this
  39782. ODStorageUnitView object is viewing and returns the value in an
  39783. ODByteArray. The _buffer in ODByteArray is allocated by
  39784. ODStorageUnitView and needs to be disposed of by the caller using
  39785. ODDisposePtr.
  39786. If the Value contains a promise, the promise is resolved first before
  39787. the reading is done.
  39788. If offset+length is bigger than the size of the Value, only the bytes
  39789. from the offset (inclusive) to the end of the Value will be read
  39790. rendering the actual number of bytes read smaller than length.
  39791.  
  39792. Inputs
  39793. offset
  39794.     the offset into the focussed value
  39795. length
  39796.     the length of bytes to read into value
  39797. value
  39798.     ODByteArray where data is to be returned.
  39799.  
  39800. Outputs
  39801. <return>
  39802.     Number of bytes actually read.
  39803. value
  39804.     Buffer containing the read data.
  39805.  
  39806. Exceptions Signalled
  39807. None.
  39808.  
  39809. Pre conditions
  39810. Its ODStorageUnitCursor corresponds to a particular value of the
  39811. ODStorageUnit.
  39812. value is a buffer of length length or more
  39813.  
  39814. Post conditions
  39815. value has read length bytes from offset in the cursor-focused value
  39816. The focus of the viewed ODStorageUnit is on the context specified by
  39817. the cursor of this ODStorageUnitView object.
  39818.  
  39819. æKY ODStorageUnitView::GetWeakStorageUnitRef
  39820. StorageUnitView::GetWeakStorageUnitRef
  39821. StorageUnitView->GetWeakStorageUnitRef
  39822. æT Class Method
  39823. æD void GetWeakStorageUnitRef(
  39824. in ODStorageUnitID embeddedSUID,
  39825. out ODStorageUnitRef weakRef);
  39826.  
  39827. æC Protection
  39828.     Public.  
  39829.  
  39830. Override policy
  39831.     Derived class cannot override.
  39832.     Derived class cannot call base class behavior, during derived class behavior.
  39833.  
  39834. Basic operation
  39835. Returns a persistent reference to the Storage Unit refered to by
  39836. embeddedSUID. This persistent reference may be stored within the Value
  39837. this ODStorageUnitView object is viewing and later used to retrieve
  39838. the given Storage Unit. This ODStorageUnitRef  is weak in the sense
  39839. that the Storage Unit it refers to will only be copied over in the
  39840. cloning operation only if there is another Strong Storage Unit Ref
  39841. referring to it.
  39842.  
  39843. Inputs
  39844. embeddedSU
  39845.     ODStorageUnit object referring to the Storage Unit whose persistent
  39846. reference is desired.
  39847.  
  39848. Outputs
  39849. weakRef
  39850.     Persistent reference to the Storage Unit referred to by embeddedSU.
  39851.  
  39852. Exceptions Signalled
  39853. None.
  39854.  
  39855. Pre conditions
  39856. Its ODStorageUnitCursor corresponds to a particular value of the
  39857. ODStorageUnit.
  39858.  
  39859. Post conditions
  39860. The focus of the viewed ODStorageUnit is on the context specified by
  39861. the cursor of this ODStorageUnitView object.
  39862.  
  39863. æKY ODStorageUnitView::IncrementGenerationNumber
  39864. StorageUnitView::IncrementGenerationNumber
  39865. StorageUnitView->IncrementGenerationNumber
  39866. æT Class Method
  39867. æD ODULong IncrementGenerationNumber();
  39868.  
  39869. æC Protection
  39870.     Public.  
  39871.  
  39872. Override policy
  39873.     Derived class cannot override.
  39874.     Derived class cannot call base class behavior, during derived class behavior.
  39875.  
  39876. Basic operation
  39877. Increment and returns the generation number of the Value this
  39878. ODStorageUnitView object is viewing.
  39879.  
  39880. Inputs
  39881. none
  39882.  
  39883. Outputs
  39884. <return>
  39885.     Generation number of the Storage Unit
  39886.  
  39887. Exceptions Signalled
  39888. None.
  39889.  
  39890. Pre conditions
  39891. Its ODStorageUnitCursor corresponds to a particular value of the
  39892. ODStorageUnit.
  39893.  
  39894. Post conditions
  39895. The focus of the viewed ODStorageUnit is on the context specified by
  39896. the cursor of this ODStorageUnitView object.
  39897.  
  39898. æKY ODStorageUnitView::InitStorageUnitView
  39899. StorageUnitView::InitStorageUnitView
  39900. StorageUnitView->InitStorageUnitView
  39901. æT Class Method
  39902. æD void InitStorageUnitView(
  39903. ODStorageUnit* storageUnit,
  39904. ODStorageUnitCursor* cursor);
  39905.  
  39906. æC Protection
  39907.     Public.  
  39908.  
  39909. Override policy
  39910.     Derived class can override.
  39911.     Derived class must call base class behavior, before derived class behavior.
  39912.  
  39913. Basic operation
  39914. Initializes this ODStorageUnitView by storing the parameters.
  39915.  
  39916. Inputs
  39917. storageUnit
  39918.     ODStorageUnit this ODStorageUnitView is associated with.
  39919. cursor
  39920.     Context (Property  and/or Value) in which the ODStorageUnitView
  39921. methods should work.
  39922.  
  39923. Outputs
  39924. none
  39925.  
  39926. Exceptions Signalled
  39927. None.
  39928.  
  39929. Pre conditions
  39930. None.
  39931.  
  39932. Post conditions
  39933. this is an initialized ODStorageUnitView object.
  39934.  
  39935. æKY ODStorageUnitView::InsertValue
  39936. StorageUnitView::InsertValue
  39937. StorageUnitView->InsertValue
  39938. æT Class Method
  39939. æD void   InsertValue(
  39940. ODULong length,
  39941. ODValue value);
  39942.  
  39943. æC Protection
  39944.     Public.  
  39945.  
  39946. Override policy
  39947.     Derived class cannot override.
  39948.     Derived class cannot call base class behavior, after derived class behavior.
  39949.  
  39950. Basic operation
  39951. Inserts length bytes at the current offset in the value this
  39952. ODStorageUnitView object is viewing. 
  39953. If the focused Value contains a Promise, the Promise is resolved first
  39954. before insertion is done.
  39955.  
  39956. Inputs
  39957. length
  39958.     the length of bytes to write into the focussed value
  39959. value
  39960.     a buffer of length>= length
  39961.  
  39962. Outputs
  39963. none
  39964.  
  39965. Exceptions Signalled
  39966. None.
  39967.  
  39968. Pre conditions
  39969. Its ODStorageUnitCursor corresponds to a particular value of the
  39970. ODStorageUnit.
  39971. value is a buffer of length length or more
  39972.  
  39973. Post conditions
  39974. length bytes of value have been inserted at offset in the currently
  39975. focused value
  39976. The focus of the viewed ODStorageUnit is on the context specified by
  39977. the cursor of this ODStorageUnitView object.
  39978.  
  39979. æKY ODStorageUnitView::Internalize
  39980. StorageUnitView::Internalize
  39981. StorageUnitView->Internalize
  39982. æT Class Method
  39983. æD ODStorageUnitView* Internalize();
  39984.  
  39985. æC Protection
  39986.     Public.  Private within Storage System.
  39987.  
  39988. Override policy
  39989.     Derived class cannot override.
  39990.     Derived class cannot call base class behavior, during derived class behavior.
  39991.  
  39992. Basic operation
  39993. Internalizes the ODStorageUnit object this ODStorageUnitView object is
  39994. viewing.
  39995.  
  39996. Inputs
  39997. none
  39998.  
  39999. Outputs
  40000. <return>
  40001.     this
  40002.  
  40003. Exceptions Signalled
  40004. None.
  40005.  
  40006. Pre conditions
  40007. None.
  40008.  
  40009. Post conditions
  40010. all properties and values in the focus have been brought into
  40011. ephemeral storage from persistent storage
  40012.  
  40013. æKY ODStorageUnitView::IsPromiseValue
  40014. StorageUnitView::IsPromiseValue
  40015. StorageUnitView->IsPromiseValue
  40016. æT Class Method
  40017. æD ODBoolean IsPromiseValue();
  40018.  
  40019. æC Protection
  40020.     Public.  
  40021.  
  40022. Override policy
  40023.     Derived class cannot override.
  40024.     Derived class cannot call base class behavior, during derived class behavior.
  40025.  
  40026. Basic operation
  40027. Returns kODTrue if the Value this ODStorageUnitView object is viewing
  40028. contains a Promise. Otherwise, returns kODFalse.
  40029. If the focused Value is a Promise, the Promise will not be resolved by
  40030. this call.
  40031.  
  40032. Inputs
  40033. none
  40034.  
  40035. Outputs
  40036. <return>
  40037.     ODBoolean showing whether the focused Value contains a Promise.
  40038.  
  40039. Exceptions Signalled
  40040. None.
  40041.  
  40042. Pre conditions
  40043. Its ODStorageUnitCursor corresponds to a particular value of the
  40044. ODStorageUnit.
  40045.  
  40046. Post conditions
  40047. The focus of the viewed ODStorageUnit is on the context specified by
  40048. the cursor of this ODStorageUnitView object.
  40049.  
  40050. æKY ODStorageUnitView::IsStrongStorageUnitRef
  40051. StorageUnitView::IsStrongStorageUnitRef
  40052. StorageUnitView->IsStrongStorageUnitRef
  40053. æT Class Method
  40054. æD ODBoolean IsStrongStorageUnitRef(
  40055. ODStorageUnitRef ref);
  40056.  
  40057. æC Protection
  40058.     Public.  
  40059.  
  40060. Override policy
  40061.     Derived class cannot override.
  40062.     Derived class cannot call base class behavior, during derived class behavior.
  40063.  
  40064. Basic operation
  40065. Returns kODTrue if ref is a strong ODStorageUnitRef. Otherwise,
  40066. returns kODFalse.
  40067.  
  40068. Inputs
  40069. ref
  40070.     ODStorageUnitRef to be tested.
  40071.  
  40072. Outputs
  40073. <return>
  40074.     Boolean showing whether ref is a strong ODStorageUnitRef.
  40075.  
  40076. Exceptions Signalled
  40077. None.
  40078.  
  40079. Pre conditions
  40080. Its ODStorageUnitCursor corresponds to a particular value of the
  40081. ODStorageUnit.
  40082.  
  40083. Post conditions
  40084. The focus of the viewed ODStorageUnit is on the context specified by
  40085. the cursor of this ODStorageUnitView object.
  40086.  
  40087. æKY ODStorageUnitView::IsValidStorageUnitRef
  40088. StorageUnitView::IsValidStorageUnitRef
  40089. StorageUnitView->IsValidStorageUnitRef
  40090. æT Class Method
  40091. æD ODBoolean IsValidStorageUnitRef(
  40092. ODStorageUnitRef ref);
  40093.  
  40094. æC Protection
  40095.     Public.  
  40096.  
  40097. Override policy
  40098.     Derived class can override.
  40099.     Derived class can call base class behavior, during derived class behavior.
  40100.  
  40101. Basic operation
  40102. Returns kODTrue if ref is a valid ODStorageUnitRef. Otherwise, returns
  40103. kODFalse.
  40104.  
  40105. Inputs
  40106. ref
  40107.     ODStorageUnitRef to be tested.
  40108.  
  40109. Outputs
  40110. <return>
  40111.     Boolean showing whether the ref is a valid ODStorageUnitRef.
  40112.  
  40113. Exceptions Signalled
  40114. None.
  40115.  
  40116. Pre conditions
  40117. Its ODStorageUnitCursor corresponds to a particular value of the
  40118. ODStorageUnit.
  40119.  
  40120. Post conditions
  40121. The focus of the viewed ODStorageUnit is on the context specified by
  40122. the cursor of this ODStorageUnitView object.
  40123.  
  40124. æKY ODStorageUnitView::IsWeakStorageUnitRef
  40125. StorageUnitView::IsWeakStorageUnitRef
  40126. StorageUnitView->IsWeakStorageUnitRef
  40127. æT Class Method
  40128. æD ODBoolean IsWeakStorageUnitRef(
  40129. ODStorageUnitRef ref);
  40130.  
  40131. æC Protection
  40132.     Public.  
  40133.  
  40134. Override policy
  40135.     Derived class cannot override.
  40136.     Derived class cannot call base class behavior, during derived class behavior.
  40137.  
  40138. Basic operation
  40139. Returns kODTrue if ref is a weak ODStorageUnitRef. Otherwise, returns
  40140. kODFalse.
  40141.  
  40142. Inputs
  40143. ref
  40144.     ODStorageUnitRef to be tested.
  40145.  
  40146. Outputs
  40147. <return>
  40148.     Boolean showing whether the ref is a weak ODStorageUnitRef.
  40149.  
  40150. Exceptions Signalled
  40151. None.
  40152.  
  40153. Pre conditions
  40154. Its ODStorageUnitCursor corresponds to a particular value of the
  40155. ODStorageUnit.
  40156.  
  40157. Post conditions
  40158. The focus of the viewed ODStorageUnit is on the context specified by
  40159. the cursor of this ODStorageUnitView object.
  40160.  
  40161. æKY ODStorageUnitView::Purge
  40162. StorageUnitView::Purge
  40163. StorageUnitView->Purge
  40164. æT Class Method
  40165. æD ODSize   Purge(
  40166. ODSize size);
  40167.  
  40168. æC Protection
  40169.     Public.  
  40170.  
  40171. Override policy
  40172.     Derived class cannot override.
  40173.     Derived class cannot call base class behavior, before derived class behavior.
  40174.  
  40175. Basic operation
  40176. Purge memory from ephemeral store until size bytes (not necessarily
  40177. contiguous) have been freed up.
  40178.  
  40179. Inputs
  40180. size
  40181.     the number of bytes to purge
  40182.  
  40183. Outputs
  40184. <return>
  40185.     the number of bytes actually purged
  40186.  
  40187. Exceptions Signalled
  40188. None.
  40189.  
  40190. Pre conditions
  40191. None.
  40192.  
  40193. Post conditions
  40194. Either size bytes (not necessarily contiguous) are free in the default
  40195. heap or  all properties and values in the associated ODStorageUnit
  40196. have been flushed out.
  40197.  
  40198. æKY ODStorageUnitView::Remove
  40199. StorageUnitView::Remove
  40200. StorageUnitView->Remove
  40201. æT Class Method
  40202. æD ODStorageUnitView* Remove();
  40203.  
  40204. æC Protection
  40205.     Public.  
  40206.  
  40207. Override policy
  40208.     Derived class cannot override.
  40209.     Derived class cannot call base class behavior, during derived class behavior.
  40210.  
  40211. Basic operation
  40212. Removes the value or property this ODStorageUnitView object is
  40213. viewing.
  40214. This is a dangerous operation in the sense that this method makes the
  40215. view of this ODStorageUnitView invalid. This method should be used
  40216. with caution.
  40217.  
  40218. Inputs
  40219. none
  40220.  
  40221. Outputs
  40222. <return>
  40223.     this
  40224.  
  40225. Exceptions Signalled
  40226. None.
  40227.  
  40228. Pre conditions
  40229. Its ODStorageUnitCursor corresponds to a particular property or value
  40230. of the ODStorageUnit.
  40231.  
  40232. Post conditions
  40233. the property or value at the cursor focus is removed
  40234. The focus of the viewed ODStorageUnit is undefined.
  40235.  
  40236. æKY ODStorageUnitView::RemoveStorageUnitRef
  40237. StorageUnitView::RemoveStorageUnitRef
  40238. StorageUnitView->RemoveStorageUnitRef
  40239. æT Class Method
  40240. æD ODStorageUnitView* RemoveStorageUnitRef(
  40241. ODStorageUnitRef ref);
  40242.  
  40243. æC Protection
  40244.     Public.  
  40245.  
  40246. Override policy
  40247.     Derived class cannot override.
  40248.     Derived class cannot call base class behavior, during derived class behavior.
  40249.  
  40250. Basic operation
  40251. Removes a ODStorageUnitRef from a Value.
  40252.  
  40253. Inputs
  40254. ref
  40255.     persistent reference to a Storage Unit.
  40256.  
  40257. Outputs
  40258. <return>
  40259.     this ODStorageUnitView object.
  40260.  
  40261. Exceptions Signalled
  40262. None.
  40263.  
  40264. Pre conditions
  40265. Its ODStorageUnitCursor corresponds to a particular value of the
  40266. ODStorageUnit.
  40267. ref is a valid ODStorageUnitRef (either strong or weak).
  40268.  
  40269. Post conditions
  40270. ref is no longer a valid ODStorageUnitRef in that Value.
  40271.  
  40272. æKY ODStorageUnitView::SetName
  40273. StorageUnitView::SetName
  40274. StorageUnitView->SetName
  40275. æT Class Method
  40276. æD void SetName(
  40277. ODName name);
  40278.  
  40279. æC Protection
  40280.     Public.  
  40281.  
  40282. Override policy
  40283.     Derived class cannot override.
  40284.     Derived class cannot call base class behavior, after derived class behavior.
  40285.  
  40286. Basic operation
  40287. Set the name of the Storage Unit this ODStorageUnitView is viewing.
  40288.  
  40289. Inputs
  40290. name
  40291.     the name of the focus
  40292.  
  40293. Outputs
  40294. none
  40295.  
  40296. Exceptions Signalled
  40297. None.
  40298.  
  40299. Pre conditions
  40300. None.
  40301.  
  40302. Post conditions
  40303. the name of the focus = name
  40304.  
  40305. æKY ODStorageUnitView::SetOffset
  40306. StorageUnitView::SetOffset
  40307. StorageUnitView->SetOffset
  40308. æT Class Method
  40309. æD void   SetOffset(
  40310. ODULong offset);
  40311.  
  40312. æC Protection
  40313.     Public.  
  40314.  
  40315. Override policy
  40316.     Derived class cannot override.
  40317.     Derived class cannot call base class behavior, after derived class behavior.
  40318.  
  40319. Basic operation
  40320. Sets the offset of the value this ODStorageUnitView object is viewing.
  40321.  
  40322.  
  40323. Inputs
  40324. offset
  40325.     Offset to use with the focused value
  40326.  
  40327. Outputs
  40328. none
  40329.  
  40330. Exceptions Signalled
  40331. None.
  40332.  
  40333. Pre conditions
  40334. Its ODStorageUnitCursor corresponds to a particular value of the
  40335. Storage Unit.
  40336.  
  40337. Post conditions
  40338. the current offset for value operations is offset.
  40339.  
  40340. æKY ODStorageUnitView::SetPromiseValue
  40341. StorageUnitView::SetPromiseValue
  40342. StorageUnitView->SetPromiseValue
  40343. æT Class Method
  40344. æD void  SetPromiseValue(
  40345. ODValueType valueType,
  40346. ODULong offset,
  40347. ODULong length,
  40348. ODValue value);
  40349.  
  40350. æC Protection
  40351.     Public.  
  40352.  
  40353. Override policy
  40354.     Derived class cannot override.
  40355.     Derived class cannot call base class behavior, during derived class behavior.
  40356.  
  40357. Basic operation
  40358. Put the given data into the value this ODStorageUnitView is viewing
  40359. and make the viewed value a promise.
  40360.  
  40361. Inputs
  40362. valueType
  40363.     Type of Value to be containing the Promise data.
  40364. offset
  40365.     Offset from which the data should be written.
  40366. length
  40367.     Length of data to be written.
  40368. value
  40369.     Buffer containing the data to be written.
  40370.  
  40371. Outputs
  40372. none
  40373.  
  40374. Exceptions Signalled
  40375. None.
  40376.  
  40377. Pre conditions
  40378. Its ODStorageUnitCursor corresponds to a particular value of the
  40379. ODStorageUnit.
  40380.  
  40381. Post conditions
  40382. length bytes of value have been written into offset in the focused
  40383. value. Also, the StorageUnit is updated to reflect that the value is a
  40384. promise.
  40385. The focus of the viewed ODStorageUnit is on the context specified by
  40386. the cursor of this ODStorageUnitView object.
  40387.  
  40388. æKY ODStorageUnitView::SetType
  40389. StorageUnitView::SetType
  40390. StorageUnitView->SetType
  40391. æT Class Method
  40392. æD void   SetType(
  40393. ODValueType valueType);
  40394.  
  40395. æC Protection
  40396.     Public.  
  40397.  
  40398. Override policy
  40399.     Derived class cannot override.
  40400.     Derived class cannot call base class behavior, after derived class behavior.
  40401.  
  40402. Basic operation
  40403. Sets the type of the Value of the Storage Unit this ODStorageUnitView
  40404. is viewing.
  40405.  
  40406. Inputs
  40407. valueType
  40408.     Type of the focused Value.
  40409.  
  40410. Outputs
  40411. Exceptions
  40412.     Signalled 
  40413.  
  40414. Exceptions Signalled
  40415. None.
  40416.  
  40417. Pre conditions
  40418. Its ODStorageUnitCursor corresponds to a particular value of the
  40419. ODStorageUnit.
  40420.  
  40421. Post conditions
  40422. the type of that value = valueType
  40423. The focus of the viewed ODStorageUnit is on the context specified by
  40424. the cursor of this ODStorageUnitView object.
  40425.  
  40426. æKY ODStorageUnitView::SetValue
  40427. StorageUnitView::SetValue
  40428. StorageUnitView->SetValue
  40429. æT Class Method
  40430. æD void   SetValue(
  40431. ODULong length,
  40432. ODValue value);
  40433.  
  40434. æC Protection
  40435.     Public.  
  40436.  
  40437. Override policy
  40438.     Derived class cannot override.
  40439.     Derived class cannot call base class behavior, after derived class behavior.
  40440.  
  40441. Basic operation
  40442. Write length bytes to the current offset of the Value this
  40443. ODStorageUnitView is viewing.
  40444. If length + offset is greater than the current size of the Value, the
  40445. Value should be grown to accomodate the extra bytes.
  40446.  
  40447. Inputs
  40448. length
  40449.     the length of bytes to write into the focussed value
  40450. value
  40451.     a buffer of length>= length
  40452.  
  40453. Outputs
  40454. None
  40455.  
  40456. Exceptions Signalled
  40457. None.
  40458.  
  40459. Pre conditions
  40460. Its ODStorageUnitCursor corresponds to a particular value of the
  40461. ODStorageUnit.
  40462. value is a buffer of length length or more
  40463.  
  40464. Post conditions
  40465. length bytes of value have been written into offset in the focused
  40466. Value.
  40467. The focus of the viewed ODStorageUnit is on the context specified by
  40468. the cursor of this ODStorageUnitView object.
  40469.  
  40470. æKY ODStorageUnitView::fCursor
  40471. StorageUnitView::fCursor
  40472. æT Class Field
  40473. æD ODStorageUnitCursor*
  40474. æC Persistent form
  40475. None.
  40476.  
  40477. æKY ODStorageUnitView::fSU
  40478. StorageUnitView::fSU
  40479. æT Class Field
  40480. æD ODStorageUnit*
  40481. æC 
  40482.  
  40483. æKY ODTransformHelp
  40484. ODTransform
  40485. Transform
  40486. æKL ODTransform::Copy
  40487. ODTransform::CopyFrom
  40488. ODTransform::GetMatrix
  40489. ODTransform::GetOffset
  40490. ODTransform::GetPreScaleOffset
  40491. ODTransform::GetQDOffset
  40492. ODTransform::GetScale
  40493. ODTransform::GetType
  40494. ODTransform::HasMatrix
  40495. ODTransform::Invert
  40496. ODTransform::InvertPoint
  40497. ODTransform::InvertShape
  40498. ODTransform::IsQDOffset
  40499. ODTransform::IsSameAs
  40500. ODTransform::MoveBy
  40501. ODTransform::NewTransform
  40502. ODTransform::PostCompose
  40503. ODTransform::PreCompose
  40504. ODTransform::ReadFrom
  40505. ODTransform::Reset
  40506. ODTransform::ScaleBy
  40507. ODTransform::ScaleDownBy
  40508. ODTransform::SetMatrix
  40509. ODTransform::SetOffset
  40510. ODTransform::SetQDOffset
  40511. ODTransform::somInit
  40512. ODTransform::somUninit
  40513. ODTransform::TransformPoint
  40514. ODTransform::TransformShape
  40515. ODTransform::WriteTo
  40516. ODTransform::fInverseMatrix
  40517. ODTransform::fMatrix
  40518. æC Basic Class Documentation
  40519. Base class: ODObject.
  40520. ODTransform objects are used to define transformations between
  40521. coordinate spaces in different ODFrames and ODFacets. More background
  40522. information can be found in the ODFrame and ODFacet class
  40523. documentation.
  40524.  
  40525. Theory of Operation
  40526. ODTransforms use a 3x3 matrix to perform 2-d transformations of
  40527. ODPoints. Transforms can be concatenated by multiplying their
  40528. matrices, resulting in an "aggregate transform". See any standard
  40529. computer graphics text for gory details.
  40530. It is possible for subclasses of ODTransform to be defined that do not
  40531. use transformation matrices. These might perform more complex
  40532. operations like morphing or wrapping around a 3D surface.
  40533.  
  40534. Invariants Maintained by Class
  40535. fMatrix holds a transformation matrix.
  40536. fInverseMatrix points to a cached inverse-transformation matrix (the
  40537. inverse of fMatrix). It is generated when needed, and cleared when
  40538. fMatrix changes or a memory-purge happens.
  40539. æKY ODTransform::Copy
  40540. Transform::Copy
  40541. Transform->Copy
  40542. æT Class Method
  40543. æD ODTransform* Copy();
  40544.  
  40545. æC Protection
  40546.     Public.  
  40547.  
  40548. Override policy
  40549.     Derived class can override.
  40550.     Derived class can call base class behavior, during derived class behavior.
  40551.  
  40552. Basic operation
  40553. Creates and returns a new ODTransform object identical to the
  40554. receiver. This is a factory method for transforms: do not call "new
  40555. ODTransform" yourself.
  40556.  
  40557. Inputs
  40558. None.
  40559.  
  40560. Outputs
  40561. <return>
  40562.     A new ODTransform object identical to the receiver.
  40563.  
  40564. Exceptions Signalled
  40565. None.
  40566.  
  40567. Pre conditions
  40568. None.
  40569.  
  40570. Post conditions
  40571. None.
  40572.  
  40573. æKY ODTransform::CopyFrom
  40574. Transform::CopyFrom
  40575. Transform->CopyFrom
  40576. æT Class Method
  40577. æD void CopyFrom(
  40578. ODTransform* sourceTransform);
  40579.  
  40580. æC Protection
  40581.     Public.  No restrictions.
  40582.  
  40583. Override policy
  40584.     Derived class can override.
  40585.     Derived class can call base class behavior, during derived class behavior.
  40586.  
  40587. Basic operation
  40588. Changes the receiver into an exact copy of the sourceTransform.
  40589.  
  40590. Inputs
  40591. sourceTransform
  40592.     Pointer to another ODTransform object. Caller's storage
  40593. responsability.
  40594.  
  40595. Outputs
  40596. None.
  40597.  
  40598. Exceptions Signalled
  40599. None.
  40600.  
  40601. Pre conditions
  40602. sourceTransform is a valid ODTransform.
  40603.  
  40604. Post conditions
  40605. This object is now equivalent to the sourceTransform object.
  40606.  
  40607. æKY ODTransform::GetMatrix
  40608. Transform::GetMatrix
  40609. Transform->GetMatrix
  40610. æT Class Method
  40611. æD void GetMatrix(
  40612. ODMatrix *m );
  40613.  
  40614. æC Protection
  40615.     Public.  
  40616.  
  40617. Override policy
  40618.     Derived class can override.
  40619.     Derived class can call base class behavior, during derived class behavior.
  40620.  
  40621. Basic operation
  40622. Copies the entire transformation matrix as an ODMatrix into the 'm'
  40623. parameter.
  40624.  
  40625. Inputs
  40626. None.
  40627.  
  40628. Outputs
  40629. None.
  40630.  
  40631. Exceptions Signalled
  40632. None.
  40633.  
  40634. Pre conditions
  40635. None.
  40636.  
  40637. Post conditions
  40638. None.
  40639.  
  40640. æKY ODTransform::GetOffset
  40641. Transform::GetOffset
  40642. Transform->GetOffset
  40643. æT Class Method
  40644. æD void GetOffset(
  40645. ODPoint *offset );
  40646.  
  40647. æC Protection
  40648.     Public.  
  40649.  
  40650. Override policy
  40651.     Derived class can override.
  40652.     Derived class can call base class behavior, during derived class behavior.
  40653.  
  40654. Basic operation
  40655. Returns the offset portion of the transformation in the 'offset'
  40656. parameter. This corresponds to the first two elements of the bottom
  40657. row of the matrix.
  40658.  
  40659. Inputs
  40660. None.
  40661.  
  40662. Outputs
  40663. None.
  40664.  
  40665. Exceptions Signalled
  40666. None.
  40667.  
  40668. Pre conditions
  40669. None.
  40670.  
  40671. Post conditions
  40672. None.
  40673.  
  40674. æKY ODTransform::GetPreScaleOffset
  40675. Transform::GetPreScaleOffset
  40676. Transform->GetPreScaleOffset
  40677. æT Class Method
  40678. æD void GetPreScaleOffset(
  40679. ODPoint *offset );
  40680.  
  40681. æC Protection
  40682.     Public.  
  40683.  
  40684. Override policy
  40685.     Derived class can override.
  40686.     Derived class can call base class behavior, during derived class behavior.
  40687.  
  40688. Basic operation
  40689. Returns the offset scaled down by the scale portion of the transform.
  40690. This is useful for clients that want to transform their data by
  40691. offsetting first and then scaling: this is the offset they should use.
  40692. It doesn't make much sense if the transformation involves rotation,
  40693. skewing, or perspective.
  40694.  
  40695. Inputs
  40696. None.
  40697.  
  40698. Outputs
  40699. None.
  40700.  
  40701. Exceptions Signalled
  40702. None.
  40703.  
  40704. Pre conditions
  40705. None.
  40706.  
  40707. Post conditions
  40708. None.
  40709.  
  40710. æKY ODTransform::GetQDOffset
  40711. Transform::GetQDOffset
  40712. Transform->GetQDOffset
  40713. æT Class Method
  40714. æD Point GetQDOffset();
  40715.  
  40716. æC Protection
  40717.     Public.  
  40718.  
  40719. Override policy
  40720.     Derived class can override.
  40721.     Derived class can call base class behavior, during derived class behavior.
  40722.  
  40723. Basic operation
  40724. Returns the offset of this transformation as a QuickDraw point. This
  40725. is like GetOffset, except that the coordinates are rounded to the
  40726. nearest integer.
  40727.  
  40728. Inputs
  40729. None.
  40730.  
  40731. Outputs
  40732. <return>
  40733.     Transformation's offset, rounded to the nearest integer.
  40734.  
  40735. Exceptions Signalled
  40736. None.
  40737.  
  40738. Pre conditions
  40739. None.
  40740.  
  40741. Post conditions
  40742. None.
  40743.  
  40744. æKY ODTransform::GetScale
  40745. Transform::GetScale
  40746. Transform->GetScale
  40747. æT Class Method
  40748. æD void GetScale(
  40749. ODPoint *scale );
  40750.  
  40751. æC Protection
  40752.     Public.  
  40753.  
  40754. Override policy
  40755.     Derived class can override.
  40756.     Derived class can call base class behavior, during derived class behavior.
  40757.  
  40758. Basic operation
  40759. Returns the scaling factor of this transformation in the 'scale'
  40760. parameter. This is equivalent to the [0,0] and [1,1] elements of the
  40761. matrix.
  40762.  
  40763. Inputs
  40764. None.
  40765.  
  40766. Outputs
  40767. None.
  40768.  
  40769. Exceptions Signalled
  40770. None.
  40771.  
  40772. Pre conditions
  40773. None.
  40774.  
  40775. Post conditions
  40776. None.
  40777.  
  40778. æKY ODTransform::GetType
  40779. Transform::GetType
  40780. Transform->GetType
  40781. æT Class Method
  40782. æD ODTransformType GetType();
  40783.  
  40784. æC Protection
  40785.     Public.  
  40786.  
  40787. Override policy
  40788.     Derived class can override.
  40789.     Derived class can call base class behavior, after derived class behavior.
  40790.  
  40791. Basic operation
  40792. Returns the type of transformation, as one of the values of the
  40793. ODTransformType enumeration.
  40794.  
  40795. Inputs
  40796. None.
  40797.  
  40798. Outputs
  40799. <return>
  40800.     The type of this transformation.
  40801.  
  40802. Exceptions Signalled
  40803. None.
  40804.  
  40805. Pre conditions
  40806. None.
  40807.  
  40808. Post conditions
  40809. None.
  40810.  
  40811. æKY ODTransform::HasMatrix
  40812. Transform::HasMatrix
  40813. Transform->HasMatrix
  40814. æT Class Method
  40815. æD ODBoolean HasMatrix();
  40816.  
  40817. æC Protection
  40818.     Public.  
  40819.  
  40820. Override policy
  40821.     Derived class can override.
  40822.     Derived class can call base class behavior, during derived class behavior.
  40823.  
  40824. Basic operation
  40825. Use HasMatrix to find out if an ODTransform is based on a
  40826. transformation matrix. (If not, the GetMatrix call will raise an
  40827. exception.) All direct instances of ODTransform are matrix-based and
  40828. this call always returns true. However, developers may subclass
  40829. ODTransform to implement complex transforms (like morphs) that cannot
  40830. be represented as matrices.
  40831.  
  40832. Inputs
  40833. None.
  40834.  
  40835. Outputs
  40836. <return>
  40837.     kODTrue if transform has a matrix, else kODFalse.
  40838.  
  40839. Exceptions Signalled
  40840. None.
  40841.  
  40842. Pre conditions
  40843. None.
  40844.  
  40845. Post conditions
  40846. None.
  40847.  
  40848. æKY ODTransform::Invert
  40849. Transform::Invert
  40850. Transform->Invert
  40851. æT Class Method
  40852. æD ODTransform* Invert();
  40853.  
  40854. æC Protection
  40855.     Public.  No restrictions.
  40856.  
  40857. Override policy
  40858.     Derived class can override.
  40859.     Derived class can call base class behavior, during derived class behavior.
  40860.  
  40861. Basic operation
  40862. Turns this ODTransform object into its inverse. Returns the receiver
  40863. so you can easily append another call to this one.
  40864.  
  40865. Inputs
  40866. None.
  40867.  
  40868. Outputs
  40869. <return>
  40870.     Pointer to this ODTransform object  which is turned into its Inverse.
  40871.  
  40872. Exceptions Signalled
  40873. kODErrOutOfMemory
  40874.     Not enough memory to allocate inverse matrix.
  40875. kODErrTransformErr
  40876.     Transformation is not invertible.
  40877.  
  40878. Pre conditions
  40879. The transform is invertible.
  40880.  
  40881. Post conditions
  40882. Receiver now represents the inverse transformation.
  40883.  
  40884. æKY ODTransform::InvertPoint
  40885. Transform::InvertPoint
  40886. Transform->InvertPoint
  40887. æT Class Method
  40888. æD ODPoint InvertPoint(
  40889. ODPoint point);
  40890.  
  40891. æC Protection
  40892.     Public.  No restrictions.
  40893.  
  40894. Override policy
  40895.     Derived class can override.
  40896.     Derived class can call base class behavior, during derived class behavior.
  40897.  
  40898. Basic operation
  40899. The opposite of TransformPoint: transforms a point by the inverse of
  40900. this transform. The transform itself is left unchanged, unlike Invert.
  40901.  
  40902. Inputs
  40903. point
  40904.     ODPoint data structure;
  40905.  
  40906. Outputs
  40907. <return>
  40908.     transformed point.
  40909.  
  40910. Exceptions Signalled
  40911. kODErrOutOfMemory
  40912.     Not enough memory to allocate inverse matrix.
  40913. kODErrTransformErr
  40914.     Not invertible.
  40915.  
  40916. Pre conditions
  40917. The transform is invertible.
  40918.  
  40919. Post conditions
  40920. The returned Point  is the input point transformed by the inverse of
  40921. the transform.
  40922.  
  40923. æKY ODTransform::InvertShape
  40924. Transform::InvertShape
  40925. Transform->InvertShape
  40926. æT Class Method
  40927. æD void InvertShape(
  40928. ODShape *shape );
  40929.  
  40930. æC Protection
  40931.     Public.  
  40932.  
  40933. Override policy
  40934.     Derived class can override.
  40935.     Derived class can call base class behavior, during derived class behavior.
  40936.  
  40937. Basic operation
  40938. Transforms the shape through the inverse of this transformation. This
  40939. is equivalent to the InverseTransform method in ODShape.
  40940.  
  40941. Inputs
  40942. None.
  40943.  
  40944. Outputs
  40945. None.
  40946.  
  40947. Exceptions Signalled
  40948. kODErrTransformErr
  40949.     Transformation is not invertible.
  40950.  
  40951. Pre conditions
  40952. Transformation is invertible.
  40953.  
  40954. Post conditions
  40955. Shape is transformed.
  40956.  
  40957. æKY ODTransform::IsQDOffset
  40958. Transform::IsQDOffset
  40959. Transform->IsQDOffset
  40960. æT Class Method
  40961. æD ODBoolean IsQDOffset();
  40962.  
  40963. æC Protection
  40964.     Public.  
  40965.  
  40966. Override policy
  40967.     Derived class can override.
  40968.     Derived class can call base class behavior, during derived class behavior.
  40969.  
  40970. Basic operation
  40971. Returns kODTrue if the transformation is an exact QuickDraw
  40972. transformation: a pure offset with integral coordinates. This may be
  40973. too strict a definition for many purposes: QuickDraw code can still
  40974. easily draw via an offset transform with non-integral coordinates,
  40975. since the offset will be rounded. So GetType may be a more appropriate
  40976. method to call. But if you want to make sure your coordinates are
  40977. exact you can call this method.
  40978.  
  40979. Inputs
  40980. None.
  40981.  
  40982. Outputs
  40983. <return>
  40984.     kODTrue if the transform is a pure integer offset, else kODFalse.
  40985.  
  40986. Exceptions Signalled
  40987. None.
  40988.  
  40989. Pre conditions
  40990. None.
  40991.  
  40992. Post conditions
  40993. None.
  40994.  
  40995. æKY ODTransform::IsSameAs
  40996. Transform::IsSameAs
  40997. Transform->IsSameAs
  40998. æT Class Method
  40999. æD ODBoolean IsSameAs(
  41000. ODTransform* compareTransform);
  41001.  
  41002. æC Protection
  41003.     Public.  No restrictions.
  41004.  
  41005. Override policy
  41006.     Derived class can override.
  41007.     Derived class can call base class behavior, during derived class behavior.
  41008.  
  41009. Basic operation
  41010. Comparison of two ODTransform objects.
  41011.  
  41012. Inputs
  41013. compareTransform
  41014.     Pointer to an ODTransform object.
  41015.  
  41016. Outputs
  41017. <return>
  41018.     kODTrue if the transforms are the same, else kODFalse.
  41019.  
  41020. Exceptions Signalled
  41021. None.
  41022.  
  41023. Pre conditions
  41024. None.
  41025.  
  41026. Post conditions
  41027. None.
  41028.  
  41029. æKY ODTransform::MoveBy
  41030. Transform::MoveBy
  41031. Transform->MoveBy
  41032. æT Class Method
  41033. æD ODTransform* MoveBy(
  41034. ODPoint offset );
  41035.  
  41036. æC Protection
  41037.     Public.  
  41038.  
  41039. Override policy
  41040.     Derived class can override.
  41041.     Derived class can call base class behavior, during derived class behavior.
  41042.  
  41043. Basic operation
  41044. Offsets the transformation by the given amount. This is just like
  41045. post-composing the transform with an offset matrix.
  41046.  
  41047. Inputs
  41048. offset
  41049.     Amount to offset by.
  41050.  
  41051. Outputs
  41052. <return>
  41053.     Returns the receiver.
  41054.  
  41055. Exceptions Signalled
  41056. None.
  41057.  
  41058. Pre conditions
  41059. None.
  41060.  
  41061. Post conditions
  41062. None.
  41063.  
  41064. æKY ODTransform::NewTransform
  41065. Transform::NewTransform
  41066. Transform->NewTransform
  41067. æT Class Method
  41068. æD ODTransform* NewTransform();
  41069.  
  41070. æC Protection
  41071.     Public.  
  41072.  
  41073. Override policy
  41074.     Derived class can override.
  41075.     Derived class can call base class behavior, during derived class behavior.
  41076.  
  41077. Basic operation
  41078. Returns a new, initialized identity transform. This is a factory
  41079. method for transforms: do not call "new ODTransform" yourself.
  41080.  
  41081. Inputs
  41082. None.
  41083.  
  41084. Outputs
  41085. <return>
  41086.     <return>
  41087.  
  41088. Exceptions Signalled
  41089. kODErrOutOfMemory
  41090.     Not enough memory to create a new transform.
  41091.  
  41092. Pre conditions
  41093. None.
  41094.  
  41095. Post conditions
  41096. None.
  41097.  
  41098. æKY ODTransform::PostCompose
  41099. Transform::PostCompose
  41100. Transform->PostCompose
  41101. æT Class Method
  41102. æD ODTransform* PostCompose(
  41103. ODTransform* transform);
  41104.  
  41105. æC Protection
  41106.     Public.  No restrictions.
  41107.  
  41108. Override policy
  41109.     Derived class can override.
  41110.     Derived class can call base class behavior, during derived class behavior.
  41111.  
  41112. Basic operation
  41113. Update this transform according to the matrix multiplication:
  41114. this = this * transform.
  41115. Returns a pointer to the transform object ('this') as a convenience to
  41116. the caller.
  41117.  
  41118. Inputs
  41119. transform
  41120.     Pointer to another ODTransform.
  41121.  
  41122. Outputs
  41123. <return>
  41124.      Pointer to this ODTransform object.
  41125.  
  41126. Exceptions Signalled
  41127. None.
  41128.  
  41129. Pre conditions
  41130. None.
  41131.  
  41132. Post conditions
  41133. None.
  41134.  
  41135. æKY ODTransform::PreCompose
  41136. Transform::PreCompose
  41137. Transform->PreCompose
  41138. æT Class Method
  41139. æD ODTransform* PreCompose(
  41140. ODTransform* transform);
  41141.  
  41142. æC Protection
  41143.     Public.  No restrictions.
  41144.  
  41145. Override policy
  41146.     Derived class can override.
  41147.     Derived class can call base class behavior, during derived class behavior.
  41148.  
  41149. Basic operation
  41150. Update this transform according to the matrix multiplication:
  41151. this = transform * this.
  41152. Returns a pointer to the transform object ('this') as a convenience to
  41153. the caller.
  41154.  
  41155. Inputs
  41156. transform
  41157.     Pointer to ODTransform. 
  41158.  
  41159. Outputs
  41160. <return>
  41161.      Pointer to this ODTransform object.
  41162.  
  41163. Exceptions Signalled
  41164. kODErrNumericError
  41165.  
  41166. Pre conditions
  41167. None.
  41168.  
  41169. Post conditions
  41170. None.
  41171.  
  41172. æKY ODTransform::ReadFrom
  41173. Transform::ReadFrom
  41174. Transform->ReadFrom
  41175. æT Class Method
  41176. æD void ReadFrom(
  41177. ODStorageUnit* );
  41178.  
  41179. æC Protection
  41180.     Public.  
  41181.  
  41182. Override policy
  41183.     Derived class can override.
  41184.     Derived class can call base class behavior, during derived class behavior.
  41185.  
  41186. Basic operation
  41187. Reads the transformation matrix from a storage unit, which must be
  41188. pre-focused on a particular property. The matrix will be read from the
  41189. kODTransform value of that property.
  41190.  
  41191. Inputs
  41192. None.
  41193.  
  41194. Outputs
  41195. None.
  41196.  
  41197. Exceptions Signalled
  41198. None.
  41199.  
  41200. Pre conditions
  41201. None.
  41202.  
  41203. Post conditions
  41204. None.
  41205.  
  41206. æKY ODTransform::Reset
  41207. Transform::Reset
  41208. Transform->Reset
  41209. æT Class Method
  41210. æD ODTransform* Reset();
  41211.  
  41212. æC Protection
  41213.     Public.  No restrictions.
  41214.  
  41215. Override policy
  41216.     Derived class can override.
  41217.     Derived class can call base class behavior, during derived class behavior.
  41218.  
  41219. Basic operation
  41220. Turns this ODTransform object into the Identity transform. Returns the
  41221. receiver for easy concatenation with other operations.
  41222.  
  41223. Inputs
  41224. None.
  41225.  
  41226. Outputs
  41227. <return>
  41228.     Pointer to this ODTransform object.
  41229.  
  41230. Exceptions Signalled
  41231. None.
  41232.  
  41233. Pre conditions
  41234. None.
  41235.  
  41236. Post conditions
  41237. None.
  41238.  
  41239. æKY ODTransform::ScaleBy
  41240. Transform::ScaleBy
  41241. Transform->ScaleBy
  41242. æT Class Method
  41243. æD ODTransform* ScaleBy(
  41244. ODPoint scale ) ;
  41245.  
  41246. æC Protection
  41247.     Public.  
  41248.  
  41249. Override policy
  41250.     Derived class can override.
  41251.     Derived class can call base class behavior, during derived class behavior.
  41252.  
  41253. Basic operation
  41254. Scales the transformation.
  41255.  
  41256. Inputs
  41257. scale
  41258.     Scaling factor (x and y)
  41259.  
  41260. Outputs
  41261. <return>
  41262.     Returns the receiver.
  41263.  
  41264. Exceptions Signalled
  41265. None.
  41266.  
  41267. Pre conditions
  41268. None.
  41269.  
  41270. Post conditions
  41271. None.
  41272.  
  41273. æKY ODTransform::ScaleDownBy
  41274. Transform::ScaleDownBy
  41275. Transform->ScaleDownBy
  41276. æT Class Method
  41277. æD ODTransform* ScaleDownBy(
  41278. ODPoint scale );
  41279.  
  41280. æC Protection
  41281.     Public.  
  41282.  
  41283. Override policy
  41284.     Derived class can override.
  41285.     Derived class can call base class behavior, during derived class behavior.
  41286.  
  41287. Basic operation
  41288. This is the inverse of Scale: it scales by the reciprocal of the
  41289. input.
  41290.  
  41291. Inputs
  41292. scale
  41293.     Inverse scaling factor
  41294.  
  41295. Outputs
  41296. <return>
  41297.     Returns the receiver.
  41298.  
  41299. Exceptions Signalled
  41300. kODErrTransformErr
  41301.     scale.x or scale.y is zero.
  41302.  
  41303. Pre conditions
  41304. Neither coordinate of the scale factor is equal to zero.
  41305.  
  41306. Post conditions
  41307. None.
  41308.  
  41309. æKY ODTransform::SetMatrix
  41310. Transform::SetMatrix
  41311. Transform->SetMatrix
  41312. æT Class Method
  41313. æD ODTransform* SetMatrix(
  41314. ODMatrix *matrix );
  41315.  
  41316. æC Protection
  41317.     Public.  
  41318.  
  41319. Override policy
  41320.     Derived class can override.
  41321.     Derived class can call base class behavior, during derived class behavior.
  41322.  
  41323. Basic operation
  41324. Makes the receiver's transformation equivalent to the supplied
  41325. transformation matrix. If the matrix is NULL this is equivalent to
  41326. calling Reset.
  41327.  
  41328. Inputs
  41329. matrix
  41330.     Points to an input ODMatrix specifying the new transform.
  41331.  
  41332. Outputs
  41333. <return>
  41334.     Returns the receiver.
  41335.  
  41336. Exceptions Signalled
  41337. None.
  41338.  
  41339. Pre conditions
  41340. None.
  41341.  
  41342. Post conditions
  41343. None.
  41344.  
  41345. æKY ODTransform::SetOffset
  41346. Transform::SetOffset
  41347. Transform->SetOffset
  41348. æT Class Method
  41349. æD ODTransform* SetOffset(
  41350. ODPoint offset );
  41351.  
  41352. æC Protection
  41353.     Public.  
  41354.  
  41355. Override policy
  41356.     Derived class can override.
  41357.     Derived class can call base class behavior, during derived class behavior.
  41358.  
  41359. Basic operation
  41360. Makes the receiver a pure offset (or translation) with the given
  41361. coordinates.
  41362.  
  41363. Inputs
  41364. offset
  41365.     Coordinates of the offset
  41366.  
  41367. Outputs
  41368. <return>
  41369.     Returns the receiver.
  41370.  
  41371. Exceptions Signalled
  41372. None.
  41373.  
  41374. Pre conditions
  41375. None.
  41376.  
  41377. Post conditions
  41378. None.
  41379.  
  41380. æKY ODTransform::SetQDOffset
  41381. Transform::SetQDOffset
  41382. Transform->SetQDOffset
  41383. æT Class Method
  41384. æD ODTransform* SetQDOffset(
  41385. Point );
  41386.  
  41387. æC Protection
  41388.     Public.  
  41389.  
  41390. Override policy
  41391.     Derived class can override.
  41392.     Derived class can call base class behavior, during derived class behavior.
  41393.  
  41394. Basic operation
  41395. Turns the transform into a pure offset with the given integer
  41396. coordinates.
  41397.  
  41398. Inputs
  41399. point
  41400.     Coordinates of the offset
  41401.  
  41402. Outputs
  41403. <return>
  41404.     Returns the receiver.
  41405.  
  41406. Exceptions Signalled
  41407. None.
  41408.  
  41409. Pre conditions
  41410. None.
  41411.  
  41412. Post conditions
  41413. None.
  41414.  
  41415. æKY ODTransform::somInit
  41416. Transform::somInit
  41417. Transform->somInit
  41418. æT Class Method
  41419. æD somInit();
  41420.  
  41421. æC Protection
  41422.     Public.  Only factory methods should directly construct ODTransform objects.
  41423.  
  41424. Override policy
  41425.     Derived class can override.
  41426.     Derived class must call base class behavior, before derived class behavior.
  41427.  
  41428. Basic operation
  41429. Constructs a new ODTransform object representing the identity
  41430. transform.
  41431.  
  41432. Inputs
  41433. None.
  41434.  
  41435. Outputs
  41436. <return>
  41437.     an ODTransform object.
  41438.  
  41439. Exceptions Signalled
  41440. kODErrOutOfMemory
  41441.  
  41442. Pre conditions
  41443. Enough memory is available to allocate the ODTransform object.
  41444.  
  41445. Post conditions
  41446. The object is allocated and initialized.
  41447.  
  41448. æKY ODTransform::somUninit
  41449. Transform::somUninit
  41450. Transform->somUninit
  41451. æT Class Method
  41452. æD somUninit();
  41453.  
  41454. æC Protection
  41455.     Public.  Don't call directly; use delete instead.
  41456.  
  41457. Override policy
  41458.     Derived class can override.
  41459.     Derived class must call base class behavior, after derived class behavior.
  41460.  
  41461. Basic operation
  41462. Deletes an ODTransform object.
  41463.  
  41464. Inputs
  41465. None.
  41466.  
  41467. Outputs
  41468. None.
  41469.  
  41470. Exceptions Signalled
  41471. None.
  41472.  
  41473. Pre conditions
  41474. Object has been created.
  41475.  
  41476. Post conditions
  41477. None.
  41478.  
  41479. æKY ODTransform::TransformPoint
  41480. Transform::TransformPoint
  41481. Transform->TransformPoint
  41482. æT Class Method
  41483. æD ODPoint TransformPoint(
  41484. ODPoint point);
  41485.  
  41486. æC Protection
  41487.     Public.  No restrictions.
  41488.  
  41489. Override policy
  41490.     Derived class can override.
  41491.     Derived class can call base class behavior, during derived class behavior.
  41492.  
  41493. Basic operation
  41494. Maps a point  from a source coordinate space to a destination
  41495. coordinate space by applying this transform.
  41496.  
  41497. Inputs
  41498. point
  41499.     Input point to be transformed.
  41500.  
  41501. Outputs
  41502. <return>
  41503.     transformed point.
  41504.  
  41505. Exceptions Signalled
  41506. None.
  41507.  
  41508. Pre conditions
  41509. None.
  41510.  
  41511. Post conditions
  41512. None.
  41513.  
  41514. æKY ODTransform::TransformShape
  41515. Transform::TransformShape
  41516. Transform->TransformShape
  41517. æT Class Method
  41518. æD void TransformShape(
  41519. ODShape *shape );
  41520.  
  41521. æC Protection
  41522.     Public.  
  41523.  
  41524. Override policy
  41525.     Derived class can override.
  41526.     Derived class can call base class behavior, during derived class behavior.
  41527.  
  41528. Basic operation
  41529. Transforms the shape through this transformation. This is equivalent
  41530. to the Transform method in ODShape.
  41531.  
  41532. Inputs
  41533. None.
  41534.  
  41535. Outputs
  41536. None.
  41537.  
  41538. Exceptions Signalled
  41539. None.
  41540.  
  41541. Pre conditions
  41542. None.
  41543.  
  41544. Post conditions
  41545. None.
  41546.  
  41547. æKY ODTransform::WriteTo
  41548. Transform::WriteTo
  41549. Transform->WriteTo
  41550. æT Class Method
  41551. æD void WriteTo(
  41552. ODStorageUnit* );
  41553.  
  41554. æC Protection
  41555.     Public.  
  41556.  
  41557. Override policy
  41558.     Derived class can override.
  41559.     Derived class can call base class behavior, during derived class behavior.
  41560.  
  41561. Basic operation
  41562. Writes the transform (as a matrix) to the storage unit. The storage
  41563. unit should be pre-focused to a particular property; the matrix will
  41564. be written in the kODTransform value of that property.
  41565.  
  41566. Inputs
  41567. None.
  41568.  
  41569. Outputs
  41570. None.
  41571.  
  41572. Exceptions Signalled
  41573. None.
  41574.  
  41575. Pre conditions
  41576. None.
  41577.  
  41578. Post conditions
  41579. None.
  41580.  
  41581. æKY ODTransform::fInverseMatrix
  41582. Transform::fInverseMatrix
  41583. æT Class Field
  41584. æD ODMatrix *fInverseMatrix;
  41585. æC 
  41586. æKY ODTransform::fMatrix
  41587. Transform::fMatrix
  41588. æT Class Field
  41589. æD ODMatrix fMatrix;
  41590. æC 
  41591.  
  41592. æKY ODTranslationHelp
  41593. ODTranslation
  41594. Translation
  41595. æKL ODTranslation::ODTranslation
  41596. ODTranslation::~ODTranslation
  41597. ODTranslation::CanTranslate
  41598. ODTranslation::GetISOTypeFromPlatformType
  41599. ODTranslation::GetPlatformTypeFromISOType
  41600. ODTranslation::GetTranslationOf
  41601. ODTranslation::InitTranslation
  41602. ODTranslation::Purge
  41603. ODTranslation::Translate
  41604. ODTranslation::TranslateView
  41605. æC Basic Class Documentation
  41606. ODTranslation is not derived from any class. However, it depends on
  41607. the system service which provides data translation. The system service
  41608. should also allow users to query what kind of translation is
  41609. available.
  41610. The class documented here is an abstract base class. Platform
  41611. implementors must subclass this class to provide the OpenDoc
  41612. Translation functionalities on their platforms.
  41613.  
  41614. This object is instantiated by ODSession at session startup time only.
  41615. Parts should not instantiate this object even though Parts are the
  41616. main client of this object.
  41617.  
  41618. Theory of Operation
  41619. ODTranslation provides data translation capability to OpenDoc
  41620. documents and their parts. At the process' startup time, a
  41621. ODTranslation object is instantiated and stored with the ODSession.
  41622. Whenever a part needs the translation service, it can acquire the
  41623. ODTranslation object through the ODSession object.
  41624. The translation service can be triggered when a part does not know how
  41625. to handle data of an unfamiliar type (e.g., when importing data from
  41626. ODClipboard or ODDragAndDrop). The part can ask ODTranslation to find
  41627. out to what types the data can be translated. Alternatively, the part
  41628. may ask ODTranslation whether the data can be translated to one or
  41629. more types that the part can handle. If the desired types are
  41630. available, the part can then have ODTranslation done the actual
  41631. conversion of data.
  41632.  
  41633. Invariants Maintained by Class
  41634. The translation methods provided by ODTranslation should include all
  41635. those provided by the system translation service.
  41636. æKY ODTranslation::ODTranslation
  41637. Translation::ODTranslation
  41638. Translation->ODTranslation
  41639. æT Class Method
  41640. æD ODTranslation();
  41641.  
  41642. æC Protection
  41643.     Public.  Private between ODSession and ODTranslation. This method should only
  41644. be called by ODSession::InitSession.
  41645.  
  41646. Override policy
  41647.     Derived class must override.
  41648.     Derived class must call base class behavior.
  41649.  
  41650. Basic operation
  41651. This function is the constructor of the ODTranslation object. It is
  41652. called once at the process' startup time. 
  41653.  
  41654. Inputs
  41655. None
  41656.  
  41657. Outputs
  41658. None
  41659.  
  41660. Exceptions Signalled
  41661. None.
  41662.  
  41663. Pre conditions
  41664. None.
  41665.  
  41666. Post conditions
  41667. this is an uninitialized ODTranslation object.
  41668.  
  41669. æKY ODTranslation::~ODTranslation
  41670. Translation::~ODTranslation
  41671. Translation->~ODTranslation
  41672. æT Class Method
  41673. æD ~ODTranslation();
  41674.  
  41675. æC Protection
  41676.     Public.  Private between ODSession and ODTranslation. This method should only
  41677. be called by ODSession::~ODSession or the equivalent shutdown method.
  41678.  
  41679. Override policy
  41680.     Derived class must override.
  41681.     Derived class must call base class behavior.
  41682.  
  41683. Basic operation
  41684. This function is the destructor of the ODTranslation object. It is
  41685. called once when the process quits. It closes the system translation
  41686. service.
  41687.  
  41688. Inputs
  41689. None
  41690.  
  41691. Outputs
  41692. None
  41693.  
  41694. Exceptions Signalled
  41695. None.
  41696.  
  41697. Pre conditions
  41698. None.
  41699.  
  41700. Post conditions
  41701. None.
  41702.  
  41703. æKY ODTranslation::CanTranslate
  41704. Translation::CanTranslate
  41705. Translation->CanTranslate
  41706. æT Class Method
  41707. æD ODTranslateResult  CanTranslate(
  41708. ODValueType fromType);
  41709.  
  41710. æC Protection
  41711.     Public.  
  41712.  
  41713. Override policy
  41714.     Derived class must override.
  41715.     Derived class cannot call base class behavior.
  41716.  
  41717. Basic operation
  41718. This functions returns kODTrue if the tranlation facility can
  41719. translate fromType.
  41720.  
  41721. Inputs
  41722. fromType
  41723.     type of data to be translated.
  41724.  
  41725. Outputs
  41726. <return>
  41727.     ODTranslateResult showing whether a certain type can be translated.
  41728.  
  41729. Exceptions Signalled
  41730. None.
  41731.  
  41732. Pre conditions
  41733. None.
  41734.  
  41735. Post conditions
  41736. None.
  41737.  
  41738. æKY ODTranslation::GetISOTypeFromPlatformType
  41739. Translation::GetISOTypeFromPlatformType
  41740. Translation->GetISOTypeFromPlatformType
  41741. æT Class Method
  41742. æD ODType GetISOTypeFromPlatformType(
  41743. ODPlatformType platformType,
  41744. ODPlatformTypeSpace typeSpace);
  41745.  
  41746. æC Protection
  41747.     Public.  
  41748.  
  41749. Override policy
  41750.     Derived class can override.
  41751.     Derived class can call base class behavior.
  41752.  
  41753. Basic operation
  41754. Returns the ISO type corresponding to the argument platform type in
  41755. the context of the argument type space.
  41756.  
  41757. Inputs
  41758. platformType
  41759.     The platform specific type
  41760. typeSpace
  41761.     The context in which to interprete the type
  41762.  
  41763. Outputs
  41764. <result>
  41765.     The ISO type
  41766.  
  41767. Exceptions Signalled
  41768. None.
  41769.  
  41770. Pre conditions
  41771. None.
  41772.  
  41773. Post conditions
  41774. None.
  41775.  
  41776. æKY ODTranslation::GetPlatformTypeFromISOType
  41777. Translation::GetPlatformTypeFromISOType
  41778. Translation->GetPlatformTypeFromISOType
  41779. æT Class Method
  41780. æD ODPlatformType GetPlatformTypeFromISOType(
  41781. ODType type);
  41782.  
  41783. æC Protection
  41784.     Public.  
  41785.  
  41786. Override policy
  41787.     Derived class can override.
  41788.     Derived class can call base class behavior.
  41789.  
  41790. Basic operation
  41791. This function returns the platform type corresponding to the argument 
  41792. ISO type.  On the Macintosh, if no platform type corresponds from the
  41793. argument type, a value of zero is returned.
  41794.  
  41795. Inputs
  41796. type
  41797.     The ISO type.
  41798.  
  41799. Outputs
  41800. <result>
  41801.     The platform type.
  41802.  
  41803. Exceptions Signalled
  41804. None.
  41805.  
  41806. Pre conditions
  41807. None.
  41808.  
  41809. Post conditions
  41810. None.
  41811.  
  41812. æKY ODTranslation::GetTranslationOf
  41813. Translation::GetTranslationOf
  41814. Translation->GetTranslationOf
  41815. æT Class Method
  41816. æD ODTypeList* GetTranslationOf(
  41817. ODValueType fromType);
  41818.  
  41819. æC Protection
  41820.     Public.  
  41821.  
  41822. Override policy
  41823.     Derived class must override.
  41824.     Derived class cannot call base class behavior.
  41825.  
  41826. Basic operation
  41827. This function returns a ODTypeList that contains all the types to
  41828. which fromType can be translated. If translation cannot be done on
  41829. fromType, an empty set is returned.
  41830.  
  41831. Inputs
  41832. fromType
  41833.     Type of the source data.
  41834.  
  41835. Outputs
  41836. <return>
  41837.     A list of types that can be translated to from the source data.
  41838.  
  41839. Exceptions Signalled
  41840. kODErrOutOfMemory
  41841.     Cannot create a ODTypeList because the system is running out of
  41842. memory.
  41843.  
  41844. Pre conditions
  41845. None.
  41846.  
  41847. Post conditions
  41848. fromType is unchanged.
  41849.  
  41850. æKY ODTranslation::InitTranslation
  41851. Translation::InitTranslation
  41852. Translation->InitTranslation
  41853. æT Class Method
  41854. æD void InitTranslation(
  41855. ODSession* session);
  41856.  
  41857. æC Protection
  41858.     Public.  Private between ODSession and ODTranslation. This method should only
  41859. be called by ODSession::InitSession.
  41860.  
  41861. Override policy
  41862.     Derived class must override.
  41863.     Derived class must call base class behavior.
  41864.  
  41865. Basic operation
  41866. Initializes the system translation service. It is called once at the
  41867. process' startup time. 
  41868.  
  41869. Inputs
  41870. session
  41871.     Access to global objects.
  41872.  
  41873. Outputs
  41874. None.
  41875.  
  41876. Exceptions Signalled
  41877. None.
  41878.  
  41879. Pre conditions
  41880. None.
  41881.  
  41882. Post conditions
  41883. this is an initialized ODTranslation object.
  41884.  
  41885. æKY ODTranslation::Purge
  41886. Translation::Purge
  41887. Translation->Purge
  41888. æT Class Method
  41889. æD ODSize Purge(
  41890. ODSize size);
  41891.  
  41892. æC Protection
  41893.     Public.  Private between ODSession and ODTranslation. This should only be
  41894. called by ODSession.
  41895.  
  41896. Override policy
  41897.     Derived class must override.
  41898.     Derived class can call base class behavior.
  41899.  
  41900. Basic operation
  41901. Purges memory from ephemeral store until size bytes (not necessarily
  41902. contiguous) have been freed up.
  41903.  
  41904. Inputs
  41905. size
  41906.     Number of bytes to purge.
  41907.  
  41908. Outputs
  41909. <return>
  41910.     Number of bytes actually purged.
  41911.  
  41912. Exceptions Signalled
  41913. None.
  41914.  
  41915. Pre conditions
  41916. None.
  41917.  
  41918. Post conditions
  41919. None.
  41920.  
  41921. æKY ODTranslation::Translate
  41922. Translation::Translate
  41923. Translation->Translate
  41924. æT Class Method
  41925. æD ODTranslateResult Translate(
  41926. in ODValueType fromType,
  41927. in ODByteArray fromData,
  41928. in ODValueType  toType,
  41929. out ODByteArray toData);
  41930.  
  41931. æC Protection
  41932.     Public.  
  41933.  
  41934. Override policy
  41935.     Derived class must override.
  41936.     Derived class cannot call base class behavior.
  41937.  
  41938. Basic operation
  41939. Translates the data in the ODByteArray  fromData and returns the
  41940. translated data in the ODByteArray toData. The _buffer of ODByteArray
  41941. is allocated by ODTranslation and needs to be disposed of by the
  41942. caller using ODDisposePtr.
  41943.  
  41944. Inputs
  41945. fromData
  41946.     Source data to be translated.
  41947. fromType
  41948.     Type of source data.
  41949. toType
  41950.     Type of data desired.
  41951.  
  41952. Outputs
  41953. toData
  41954.     ByteArray used to contain translated data.
  41955. <return>
  41956.     Result of translation (i.e., whether the translation succeeds).
  41957.  
  41958. Exceptions Signalled
  41959. kODErrOutOfMemory
  41960.     Buffer pointed to by toData is not large enough to contain the
  41961. translated data. 
  41962. kODErrCannotTranslate
  41963.     Data cannot be translated using the ODTranslationMethod.
  41964. kODErrCannotDisposeTranslationMethod
  41965.      TranslationMethod cannot be disposed.
  41966.  
  41967. Pre conditions
  41968. None.
  41969.  
  41970. Post conditions
  41971. The content referred to by fromData is unchanged.
  41972.  
  41973. æKY ODTranslation::TranslateView
  41974. Translation::TranslateView
  41975. Translation->TranslateView
  41976. æT Class Method
  41977. æD ODTranslateResult TranslateView(
  41978. ODStorageUnitView* fromView,
  41979. ODStorageUnitView* toView);
  41980.  
  41981. æC Protection
  41982.     Public.  
  41983.  
  41984. Override policy
  41985.     Derived class must override.
  41986.     Derived class cannot call base class behavior.
  41987.  
  41988. Basic operation
  41989. Translates the Value viewed by fromView and stores the translated data
  41990. in the Value viewed by toView.
  41991.  
  41992. Inputs
  41993. fromView
  41994.     Value which contains the data to be translated.
  41995.  
  41996. Outputs
  41997. <return>
  41998.     Result of translation.
  41999. toView
  42000.     Value where the translated data should be stored.
  42001.  
  42002. Exceptions Signalled
  42003. kODErrBadTranslationMethod
  42004.      Corrupted ODTranslationMethod.
  42005. kODErrOutOfMemory
  42006.     Cannot create a buffer to contain the translated data because the
  42007. system is running out of memory.
  42008. kODErrCannotTranslate
  42009.     Data cannot be translated using the ODTranslationMethod.
  42010. kODErrCannotDisposeTranslationMethod
  42011.      TranslationMethod cannot be disposed.
  42012.  
  42013. Pre conditions
  42014. None.
  42015.  
  42016. Post conditions
  42017. None.
  42018.  
  42019.  
  42020. æKY ODTypeListHelp
  42021. ODTypeList
  42022. TypeList
  42023. æKL ODTypeList::ODTypeList
  42024. ODTypeList::~ODTypeList
  42025. ODTypeList::AddLast
  42026. ODTypeList::Contains
  42027. ODTypeList::Count
  42028. ODTypeList::CreateTypeListIterator
  42029. ODTypeList::InitTypeList
  42030. ODTypeList::Remove
  42031. ODTypeList::fHeap
  42032. ODTypeList::fList
  42033. æC Basic Class Documentation
  42034. ODTypeList is an ordered collection class for ODType objects. 
  42035. ODTypeList has no base class.
  42036.  
  42037. Theory of Operation
  42038. ODTypeList is an ordered collection of ODTypes. Users of this class
  42039. can add and remove types , query the existence of a type, and get the
  42040. number of types in the list.
  42041.  
  42042. Parts may create instances of this class.  Subclassing of ODTypeList
  42043. is not anticipated.
  42044.  
  42045. The main clients of this class are ODTranslation and parts.
  42046. ODTranslation class uses ODTypeList as parameters to its functions.
  42047. Parts can use ODTypeList to store a set of Types for repeated uses.
  42048.  
  42049. ODTypeList uses OpenDoc's private collection class. 
  42050.  
  42051. Invariants Maintained by Class
  42052. Every item in a ODTypeList object is unique. Therefore, a ODTypeList
  42053. object contains a set of different ODTypes.
  42054. A ODTypeList object can contain zero or more ODTypes. In other words,
  42055. the type set can either be empty or non-empty.
  42056. æKY ODTypeList::ODTypeList
  42057. TypeList::ODTypeList
  42058. TypeList->ODTypeList
  42059. æT Class Method
  42060. æD ODTypeList();
  42061.  
  42062. æC Protection
  42063.     Public.  
  42064.  
  42065. Override policy
  42066.     Derived class cannot override.
  42067.     Derived class must call base class behavior, before derived class behavior.
  42068.  
  42069. Basic operation
  42070. This function is the constructor of the class.
  42071.  
  42072. Inputs
  42073. None.
  42074.  
  42075. Outputs
  42076. None.
  42077.  
  42078. Exceptions Signalled
  42079. None.
  42080.  
  42081. Pre conditions
  42082. None.
  42083.  
  42084. Post conditions
  42085. Members are initialized to a known state.
  42086.  
  42087. æKY ODTypeList::~ODTypeList
  42088. TypeList::~ODTypeList
  42089. TypeList->~ODTypeList
  42090. æT Class Method
  42091. æD ~ODTypeList();
  42092.  
  42093. æC Protection
  42094.     Public.  
  42095.  
  42096. Override policy
  42097.     Derived class cannot override.
  42098.     Derived class cannot call base class behavior, during derived class behavior.
  42099.  
  42100. Basic operation
  42101. This method is the destructor of the class.
  42102.  
  42103. Inputs
  42104. None.
  42105.  
  42106. Outputs
  42107. None.
  42108.  
  42109. Exceptions Signalled
  42110. None.
  42111.  
  42112. Pre conditions
  42113. The list has been created.
  42114.  
  42115. Post conditions
  42116. None.
  42117.  
  42118. æKY ODTypeList::AddLast
  42119. TypeList::AddLast
  42120. TypeList->AddLast
  42121. æT Class Method
  42122. æD void AddLast(
  42123. ODType type);
  42124.  
  42125. æC Protection
  42126.     Public.  
  42127.  
  42128. Override policy
  42129.     Derived class can override.
  42130.     Derived class can call base class behavior, during derived class behavior.
  42131.  
  42132. Basic operation
  42133. Adds a copy of the argument type to the end of the list.  If the type
  42134. is already present in the list, no action is taken.
  42135.  
  42136. Inputs
  42137. type
  42138.     The type to add to the list.
  42139.  
  42140. Outputs
  42141. None.
  42142.  
  42143. Exceptions Signalled
  42144. kODErrOutOfMemory
  42145.     Could not add the argument type to the list.
  42146. kODErrInvalidType
  42147.     Argument type is not a valid ODType.
  42148.  
  42149. Pre conditions
  42150. The list has been initialized.
  42151.  
  42152. Post conditions
  42153. The list contains the argument type.
  42154.  
  42155. æKY ODTypeList::Contains
  42156. TypeList::Contains
  42157. TypeList->Contains
  42158. æT Class Method
  42159. æD ODBoolean Contains(
  42160. ODType type);
  42161.  
  42162. æC Protection
  42163.     Public.  
  42164.  
  42165. Override policy
  42166.     Derived class can override.
  42167.     Derived class can call base class behavior, during derived class behavior.
  42168.  
  42169. Basic operation
  42170. Test this list for the presence of the argument type.
  42171.  
  42172. Inputs
  42173. type
  42174.     The type to test for inclusion in the list.
  42175.  
  42176. Outputs
  42177. <return>
  42178.     kODTrue if the argument type is in the list and kODFalse otherwise.
  42179.  
  42180. Exceptions Signalled
  42181. None.
  42182.  
  42183. Pre conditions
  42184. The list has been initialized.
  42185.  
  42186. Post conditions
  42187. None.
  42188.  
  42189. æKY ODTypeList::Count
  42190. TypeList::Count
  42191. TypeList->Count
  42192. æT Class Method
  42193. æD ODULong Count();
  42194.  
  42195. æC Protection
  42196.     Public.  
  42197.  
  42198. Override policy
  42199.     Derived class can override.
  42200.     Derived class can call base class behavior, before derived class behavior.
  42201.  
  42202. Basic operation
  42203. This function returns the number of types in the list.  If the list is
  42204. empty, zero is returned.
  42205.  
  42206. Inputs
  42207. None.
  42208.  
  42209. Outputs
  42210. <return>
  42211.     Number of types in the list.
  42212.  
  42213. Exceptions Signalled
  42214. None.
  42215.  
  42216. Pre conditions
  42217. The list has been initialized.
  42218.  
  42219. Post conditions
  42220. None.
  42221.  
  42222. æKY ODTypeList::CreateTypeListIterator
  42223. TypeList::CreateTypeListIterator
  42224. TypeList->CreateTypeListIterator
  42225. æT Class Method
  42226. æD ODTypeListIterator* CreateTypeListIterator();
  42227.  
  42228. æC Protection
  42229.     Public.  
  42230.  
  42231. Override policy
  42232.     Derived class can override.
  42233.     Derived class can call base class behavior, during derived class behavior.
  42234.  
  42235. Basic operation
  42236. Return an iterator for this list.  The client should dispose of the
  42237. iterator using the delete operator.
  42238.  
  42239. Inputs
  42240. None.
  42241.  
  42242. Outputs
  42243. <return>
  42244.     An iterator for this list.
  42245.  
  42246. Exceptions Signalled
  42247. kODErrOutOfMemory
  42248.     Could not create the iterator.
  42249.  
  42250. Pre conditions
  42251. The list has been initialized.
  42252.  
  42253. Post conditions
  42254. None.
  42255.  
  42256. æKY ODTypeList::InitTypeList
  42257. TypeList::InitTypeList
  42258. TypeList->InitTypeList
  42259. æT Class Method
  42260. æD void InitTypeList(
  42261. ODTypeList* initList);
  42262.  
  42263. æC Protection
  42264.     Public.  
  42265.  
  42266. Override policy
  42267.     Derived class can override.
  42268.     Derived class can call base class behavior, during derived class behavior.
  42269.  
  42270. Basic operation
  42271. Initializes data members and sets the list to a copy of 'initList'.
  42272.  
  42273. Inputs
  42274. initList
  42275.     A list of ODTypes from which to initialize this object.  A kODNULL
  42276. value results in an intially empty list.
  42277.  
  42278. Outputs
  42279. None.
  42280.  
  42281. Exceptions Signalled
  42282. kODErrOutOfMemory
  42283.     Could not initialize the list.
  42284.  
  42285. Pre conditions
  42286. The list has been created.
  42287.  
  42288. Post conditions
  42289. The list has been initialized to a copy of 'initList'.
  42290.  
  42291. æKY ODTypeList::Remove
  42292. TypeList::Remove
  42293. TypeList->Remove
  42294. æT Class Method
  42295. æD void Remove(
  42296. ODType type);
  42297.  
  42298. æC Protection
  42299.     Public.  
  42300.  
  42301. Override policy
  42302.     Derived class can override.
  42303.     Derived class can call base class behavior, before derived class behavior.
  42304.  
  42305. Basic operation
  42306. Removes the argument type from the list.  If the type is not in the
  42307. list, no action is taken.
  42308.  
  42309. Inputs
  42310. type
  42311.     Type to be removed.
  42312.  
  42313. Outputs
  42314. None.
  42315.  
  42316. Exceptions Signalled
  42317. None.
  42318.  
  42319. Pre conditions
  42320. The list has been initialized.
  42321.  
  42322. Post conditions
  42323. The argument type is not in the list.
  42324.  
  42325. æKY ODTypeList::fHeap
  42326. TypeList::fHeap
  42327. æT Class Field
  42328. æD ODHeap
  42329. æC 
  42330. æKY ODTypeList::fList
  42331. TypeList::fList
  42332. æT Class Field
  42333. æD OrderedCollection*
  42334. æC 
  42335.  
  42336. æKY ODTypeListIteratorHelp
  42337. ODTypeListIterator
  42338. TypeListIterator
  42339. æKL ODTypeListIterator::ODTypeListIterator
  42340. ODTypeListIterator::~ODTypeListIterator
  42341. ODTypeListIterator::First
  42342. ODTypeListIterator::IsNotComplete
  42343. ODTypeListIterator::Next
  42344. ODTypeListIterator::fIterator
  42345. ODTypeListIterator::fTypeList
  42346. æC Basic Class Documentation
  42347. ODTypeListIterator is an iterator for the class ODTypeList. 
  42348. ODTypeListIterator has no base class.
  42349.  
  42350. Theory of Operation
  42351. This class is used to iterate over the elements of a ODTypeList
  42352. instance in order. Iteration is forward only, from first to last. The
  42353. iteration can be restarted at any time by calling the First method. If
  42354. the ODTypeList instance is modified during the iteration, First or
  42355. Next will throw an exception. When an exception is thrown, the
  42356. iterator cannot be used further, and should be destroyed.
  42357.  
  42358. Parts should create an ODTypeListIterator by calling the
  42359. CreateTypeListIterator method of the ODTypeList instance to be
  42360. iterated over.  The iterator should be disposed using the delete
  42361. operator.
  42362.  
  42363. Subclassing of ODTypeListIterator is not anticipated.
  42364.  
  42365. The implementation of ODTypeListIterator uses OpenDoc's private
  42366. collection class.
  42367.  
  42368. Invariants Maintained by Class
  42369.  
  42370. æKY ODTypeListIterator::ODTypeListIterator
  42371. TypeListIterator::ODTypeListIterator
  42372. TypeListIterator->ODTypeListIterator
  42373. æT Class Method
  42374. æD ODTypeListIterator(
  42375. ODTypeList* typeList);
  42376.  
  42377. æC Protection
  42378.     Public.  For use by ODTypeList only.  Iterators should be created by calling
  42379. ODTypeList::CreateTypeListIterator.
  42380.  
  42381. Override policy
  42382.     Derived class cannot override.
  42383.     Derived class must call base class behavior, during derived class behavior.
  42384.  
  42385. Basic operation
  42386. Class instance constructor.
  42387.  
  42388. Inputs
  42389. typeList
  42390.     The list of ODTypes to iterate over.
  42391.  
  42392. Outputs
  42393. <return>
  42394.     <return>
  42395.  
  42396. Exceptions Signalled
  42397. kODErrOutOfMemory
  42398.     Could not construct this instance.
  42399.  
  42400. Pre conditions
  42401. None.
  42402.  
  42403. Post conditions
  42404. The iterator is initialized to iterate over the argument list.
  42405.  
  42406. æKY ODTypeListIterator::~ODTypeListIterator
  42407. TypeListIterator::~ODTypeListIterator
  42408. TypeListIterator->~ODTypeListIterator
  42409. æT Class Method
  42410. æD ~ODTypeListIterator();
  42411.  
  42412. æC Protection
  42413.     Public.  
  42414.  
  42415. Override policy
  42416.     Derived class cannot override.
  42417.     Derived class cannot call base class behavior, during derived class behavior.
  42418.  
  42419. Basic operation
  42420. Class instance destructor.
  42421.  
  42422. Inputs
  42423. None.
  42424.  
  42425. Outputs
  42426. None.
  42427.  
  42428. Exceptions Signalled
  42429. None.
  42430.  
  42431. Pre conditions
  42432. The iterator has been created.
  42433.  
  42434. Post conditions
  42435. None.
  42436.  
  42437. æKY ODTypeListIterator::First
  42438. TypeListIterator::First
  42439. TypeListIterator->First
  42440. æT Class Method
  42441. æD ODType First();
  42442.  
  42443. æC Protection
  42444.     Public.  
  42445.  
  42446. Override policy
  42447.     Derived class can override.
  42448.     Derived class can call base class behavior, during derived class behavior.
  42449.  
  42450. Basic operation
  42451. Initiates iteration and returns the first ODType object in the list. 
  42452. This method does not return a copy of the item, so the client must not
  42453. dispose the returned object.  After creating an iterator using
  42454. ODTypeList::CreateTypeListIterator,  call this method once, then call
  42455. Next repeatedly to iterate through all items in the list.  First can
  42456. be called at any time to restart the iteration.
  42457.  
  42458. Inputs
  42459. None.
  42460.  
  42461. Outputs
  42462. <return>
  42463.     The first ODType object in the list.  If the list is empty kODNULL is
  42464. returned, although the client should test for completion by calling
  42465. IsNotComplete.
  42466.  
  42467. Exceptions Signalled
  42468. kODErrIteratorOutOfSync
  42469.     The ODTypeList instance was changed during the iteration.
  42470.  
  42471. Pre conditions
  42472. The iterator was created.
  42473.  
  42474. Post conditions
  42475. The first item in the list is returned, or kODNULL if the list is
  42476. empty.
  42477.  
  42478. æKY ODTypeListIterator::IsNotComplete
  42479. TypeListIterator::IsNotComplete
  42480. TypeListIterator->IsNotComplete
  42481. æT Class Method
  42482. æD ODBoolean IsNotComplete();
  42483.  
  42484. æC Protection
  42485.     Public.  
  42486.  
  42487. Override policy
  42488.     Derived class can override.
  42489.     Derived class can call base class behavior, during derived class behavior.
  42490.  
  42491. Basic operation
  42492. Test if iteration is complete.
  42493.  
  42494. Inputs
  42495. None.
  42496.  
  42497. Outputs
  42498. <return>
  42499.     Returns kODTrue if the last call to First or Next returned a valid
  42500. ODType element, and kODFalse otherwise.
  42501.  
  42502. Exceptions Signalled
  42503. None.
  42504.  
  42505. Pre conditions
  42506. The list has been created and First() has been called to start the
  42507. iteration.
  42508.  
  42509. Post conditions
  42510. None.
  42511.  
  42512. æKY ODTypeListIterator::Next
  42513. TypeListIterator::Next
  42514. TypeListIterator->Next
  42515. æT Class Method
  42516. æD ODType Next();
  42517.  
  42518. æC Protection
  42519.     Public.  
  42520.  
  42521. Override policy
  42522.     Derived class can override.
  42523.     Derived class can call base class behavior, during derived class behavior.
  42524.  
  42525. Basic operation
  42526. Returns the next element from the ordered list.  This method does not
  42527. return a copy of the item, so the client must not dispose the returned
  42528. object.   First() should be called prior to this routine to start the
  42529. iteration.  Next can be called repeatedly to iterate through the
  42530. remaining items in the list.  IsNotComplete returns kODFalse if the
  42531. preceeding call to Next did not return an item from the list.
  42532.  
  42533. Inputs
  42534. None.
  42535.  
  42536. Outputs
  42537. <return>
  42538.     The item in the ordered list after the last item returned by First or
  42539. Next since the iteration was started.  If the iteration is complete
  42540. kODNULL is returned, although the client should test for completion by
  42541. calling IsNotComplete.
  42542.  
  42543. Exceptions Signalled
  42544. kODErrIteratorOutOfSync
  42545.     The ODTypeList instance was changed during the iteration.
  42546.  
  42547. Pre conditions
  42548. First has been called to start the iteration.
  42549.  
  42550. Post conditions
  42551. None.
  42552.  
  42553. æKY ODTypeListIterator::fIterator
  42554. TypeListIterator::fIterator
  42555. æT Class Field
  42556. æD OrderedCollectionIterator*
  42557. æC 
  42558. æKY ODTypeListIterator::fTypeList
  42559. TypeListIterator::fTypeList
  42560. æT Class Field
  42561. æD ODTypeList*
  42562. æC 
  42563.  
  42564. æKY ODTypesHelp
  42565. ODTypes
  42566. Types
  42567. æKL Data Interchange Types
  42568. Data Interchange - ODPasteAsResult Types
  42569. Data Interchange - ODLinkInfo Types
  42570. Data Interchange - ODLinkInfoResult Types
  42571. General Types
  42572. Imaging Types
  42573. Messaging Subsystem Types
  42574. Storage System Types
  42575. UI Subsystem Types
  42576. æKY Data Interchange Types
  42577. æKL ODLinkKey
  42578. ODChangeID
  42579. ODCloneKind
  42580. ODPlatformType
  42581. ODLinkStatus
  42582. ODDropResult
  42583. ODPasteAsMergeSetting
  42584. ODLinkInfoAction
  42585. ODDragResult
  42586. æC These scalar types are used by classes providing data interchange in
  42587. OpenDoc.
  42588.  
  42589. æKY ODLinkKey
  42590. æC ODLinkKey is used to provide thread-safe access to link content.  It
  42591. is required by every method of class ODLink and class ODLinkSource
  42592. that return or modify the link's content storage unit.  Values of this
  42593. type are not inspectable.  Values of this type are created by
  42594. ODLink::Lock and ODLinkSource::Lock.
  42595.  
  42596. æKY ODChangeID
  42597. æC Values of this type are associated with clipboard content  and with
  42598. linked content.  Two ODChangeID values associated with different
  42599. versions of the same content may be tested for equality, but any other
  42600. use of these values is meaningless.  For example, the change
  42601. identification associated with the clipboard may be tested for
  42602. equality with a previous clipboard change id to see if the contents
  42603. have changed, but it is invalid to test if the current change id is
  42604. greater than a previous value.
  42605.  
  42606. æKY ODCloneKind
  42607. æC An enumerated type used to indicate the desired semantics of a clone
  42608. operation.  Values of this type are passed to ODDraft::BeginClone. 
  42609. The values are kODCloneCopy, specifying copy semantics into an
  42610. intermediate draft such as the clipboard or a drag-and-drop container;
  42611. kODCloneCut, specifying cut semantics into an intermediate draft;
  42612. kODClonePaste, specifying paste semantics from an intermediate draft;
  42613. kODCloneDropCopy, specifying copy semantics at the destination of a
  42614. drop and used instead of kODClonePaste; kODCloneDropMove, specifying
  42615. move semantics at the destination of a drop and used instead of
  42616. kODClonePaste.
  42617.  
  42618. æKY ODPlatformType
  42619. æC A cover for the platform-specific type used to identify data formats
  42620. for data interchange.
  42621.  
  42622. æKY ODLinkStatus
  42623. æC An enumerated type specifying the link context of a frame.  This type
  42624. has three values.  The value kODInLinkDestination describes a frame
  42625. that is embedded in content that is the destination of a link.  The
  42626. value kODInLinkSource describes a frame that is embedded in content
  42627. that is the source of a link (perhaps in several source links that
  42628. overlap).  The value kODNotInLink indicates a frame that is not
  42629. embedded in linked content.
  42630.  
  42631. æKY ODDropResult
  42632. æC An enumerated type indicating the result of a drag.  The four values
  42633. are kODDropCopy,  meaning a successful synchronous drop with copy
  42634. semantics; kODDropMove,  meaning a successful synchronous drop with
  42635. move semantics;  kODDropFail, meaning an unsuccessful  synchronous
  42636. drop, and kODDropUnfinished meaning that an asynchronous drag was
  42637. started. 
  42638.  
  42639. æKY ODPasteAsMergeSetting
  42640. æC An enumerated type used to communicate settings to the ShowPasteAs
  42641. Dialog methods of ODClipboard and ODDragAndDrop.  Values specify if
  42642. merging and/or embedding is allowed, and whether the initial setting
  42643. is merge or embed.  Values are kODPasteAsMerge (enable merge and
  42644. embed; merge is the default), kODPasteAsEmbed (enable merge and embed;
  42645. embed is the default), kODPasteAsMergeOnly (don't allow embedding),
  42646. and kODPasteAsEmbedOnly (don't allow merging).
  42647.  
  42648. æKY ODLinkInfoAction
  42649. æC An enumerated type indicating the action requested by the user in
  42650. dismissing a link info dialog.  Values are kODLinkInfoCancel,
  42651. kODLinkInfoOK, kODLinkInfoBreakLink, kODLinkInfoUpdateNow,
  42652. kODLinkInfoFindSource.
  42653.  
  42654. æKY ODDragResult
  42655. æC Result code showing whether a drop is allowed in the specified facet.
  42656.  
  42657. æKY Data Interchange - ODPasteAsResult Types
  42658. æKL pasteLinkSetting
  42659. autoUpdateSetting
  42660. mergeSetting
  42661. selectedView
  42662. selectedKind
  42663. translateKind
  42664. editor
  42665. æC A structure used to return the user's choices from ShowPasteAsDialog.
  42666.  
  42667. æKY pasteLinkSetting
  42668. æC An ODBoolean value; kODTrue if a link was chosen.
  42669.  
  42670. æKY autoUpdateSetting
  42671. æC An ODBoolean value; kODTrue if automatic link updates were choosen. 
  42672. Relevant only if pasteLinkSetting is kODTrue.
  42673.  
  42674. æKY mergeSetting
  42675. æC An ODBoolean value; kODTrue if incorporation was chosen and kODFalse
  42676. if embedding was chosen.
  42677.  
  42678. æKY selectedView
  42679. æC An ODTypeToken value; the view type chosen.
  42680.  
  42681. æKY selectedKind
  42682. æC An ODType value; the kind chosen for merging or embedding.
  42683.  
  42684. æKY translateKind
  42685. æC An ODType value; if data translation was chosen, this this the
  42686. available type that should be translated to selectedKind.  If an
  42687. available kind was chosen this field will be kODNULL.
  42688.  
  42689. æKY editor
  42690. æC An ODEditor field only relevant when embedding, i.e. when mergeSetting
  42691. is kODFalse.  Set to kODNoEditor when no specific editor was choosen,
  42692. otherwise, the preferred editor to bind to the part after embedding.  
  42693.  
  42694. æKY Data Interchange - ODLinkInfo Types
  42695. æKL kind
  42696. creationTime
  42697. changeTime
  42698. change
  42699. autoUpdate
  42700. æC A structure containing information about a link destination.  Supplied
  42701. by parts as a parameter to
  42702.  ODLink::ShowLinkDestinationInfo.
  42703.  
  42704. æKY kind
  42705. æC The ODType used by the destination of the link.
  42706.  
  42707. æKY creationTime
  42708. æC The date and time of the creation of this link destination.
  42709.  
  42710. æKY changeTime
  42711. æC The date and time of the source change last read by this destination.
  42712.  
  42713. æKY change
  42714. æC The change ID of the source change last read by this destination.
  42715.  
  42716. æKY autoUpdate
  42717. æC An ODBoolean value; kODTrue if this destination updates automatically
  42718. and kODFalse otherwise.
  42719.  
  42720. æKY Data Interchange - ODLinkInfoResult Types
  42721. æKL action
  42722. autoUpdate
  42723. æC A structure used to return the user's choices from
  42724. ODLinkSource::ShowLinkSourceInfo and ODLink::ShowLinkDestinationInfo.
  42725.  
  42726. æKY action
  42727. æC An ODLinkInfoAction value indicating the button pressed by the user to
  42728. dismiss the dialog.
  42729.  
  42730. æKY autoUpdate
  42731. æC An ODBoolean value reflecting the users choice for the update settings
  42732. in the dialog.
  42733.  
  42734. æKY General Types
  42735. æKL ODISOStr
  42736. ODType
  42737. ODValueType
  42738. ODFixed
  42739. ODFract
  42740. ODBoolean
  42741. ODHeap
  42742. ODSByte
  42743. ODUByte
  42744. ODUShort
  42745. ODSShort
  42746. ODULong
  42747. ODSLong
  42748. ODPtr
  42749. ODFileSpec
  42750. ODScriptCode
  42751. ODFileRefNum
  42752. ODEditor
  42753. ODContainerSuite
  42754. ODIconFamily
  42755. æC These scalar types are used widely in OpenDoc.
  42756.  
  42757. æKY ODISOStr
  42758. æC A string type composed of 7 bit ascii terminated by a zero byte. 
  42759. Since the first zero byte terminates the string, NULLs may not be
  42760. embedded.
  42761.  
  42762. æKY ODType
  42763. æC The type used generically within OpenDoc to represent storage unit
  42764. types, focus types, and  value types.  An ODType is an ODISOStr.
  42765.  
  42766. æKY ODValueType
  42767. æC Identifies data value types.  An ODType. 
  42768.  
  42769. æKY ODFixed
  42770. æC ODFixed represents non-integer numbers in the range [-32768, 32768) as
  42771. 32-bit values whose high 16 bits (including a sign bit) represent the
  42772. integer part, and whose low 16 bits represent a fractional part. In
  42773. effect, the “binary point” is in the middle of the number. An integer
  42774. can be converted to ODFixed by shifting it left 16 bits. An ODFixed
  42775. can be rounded to an integer by adding 0x8000 (0.5) and shifting it
  42776. right 16 bits. You can convert between ODFixed and floating-point by
  42777. multiplying or dividing by 65536.0. ODFixeds can be added or
  42778. subtracted from each other as though they were regular integers.
  42779. Multplication or division are trickier. ODFixed is identical to the
  42780. Macintosh "Fixed" type, and the Macintosh has several Toolbox
  42781. routines, such as FixMul and FixDiv, for doing fixed-point arithmetic.
  42782.  
  42783. æKY ODFract
  42784. æC ODFract is, like ODFixed, a 32-bit fixed-point number used to
  42785. represent non-integer values. However, it has only two bits to the
  42786. left of the “binary point”, instead of 16. It can only represent
  42787. values in the range [-2,2), but it has much higher precision than an
  42788. ODFixed. Use 30-bit shifts to convert between ODFracts and integers,
  42789. or a scaling factor of 1073741824.0 to convert between ODFracts and
  42790. floating-point numbers. (ODFract is identical to the Macintosh "Fract"
  42791. type, and the Toolbox has routines such as FracMul and FracDiv for
  42792. doing arithmetic on Fract values.)
  42793.  
  42794. æKY ODBoolean
  42795. æC A boolean value.
  42796.  
  42797. æKY ODHeap
  42798. æC A memory heap pointer.
  42799.  
  42800. æKY ODSByte
  42801. æC A signed 8-bit value.
  42802.  
  42803. æKY ODUByte
  42804. æC An unsigned 8-bit value.
  42805.  
  42806. æKY ODUShort
  42807. æC An unsigned 16-bit value.
  42808.  
  42809. æKY ODSShort
  42810. æC A signed 16-bit value.
  42811.  
  42812. æKY ODULong
  42813. æC An unsigned 32-bit value.
  42814.  
  42815. æKY ODSLong
  42816. æC A signed 32-bit value.
  42817.  
  42818. æKY ODPtr
  42819. æC An OD pointer.  A void*.
  42820.  
  42821. æKY ODFileSpec
  42822. æC A struct specifying a file on disk.
  42823.  
  42824. æKY ODScriptCode
  42825. æC An international script code.
  42826.  
  42827. æKY ODFileRefNum
  42828. æC A file reference number. An ODSShort .
  42829.  
  42830. æKY ODEditor
  42831. æC A type identifying a specific part editor.
  42832.  
  42833. æKY ODContainerSuite
  42834. æC A type idetifying a specific container suite.
  42835.  
  42836. æKY ODIconFamily
  42837. æC This is a platform specific type which contains a collection of icons
  42838. for rendering a part or other content in iconic format.  On the
  42839. Macintosh, this is an IconSuite.
  42840.  
  42841. æKY Imaging Types
  42842. æKL ODCoordinate
  42843. ODPoint
  42844. ODRect
  42845. ODPolygon
  42846. ODMatrix
  42847. ODGraphicsSystem
  42848. ODPlatformShape
  42849. ODPlatformTransform
  42850. ODGeometryMode
  42851. ODHighlight
  42852. ODFramePosition
  42853. ODInfoType
  42854. æC The majority of these data types are used to represent geometric
  42855. structures in OpenDoc, such as distances, positions,
  42856. bounding boxes and shapes. (Shapes at runtime are usually represented
  42857. by ODShape objects with an
  42858. opaque data format, but they can be accessed and stored in one of the
  42859. forms listed here.)
  42860. Several of these types are used to describe non-geometric information
  42861. about ODFrames and ODFacets.
  42862.  
  42863. æKY ODCoordinate
  42864. æC ODCoordinate represents spatial coordinates in documents and windows.
  42865. It's an ODFixed, which usually implies 16 integer and 16 fractional
  42866. bits, but internally you can partition the bits up however you please
  42867. provided you shift the values appropriately when talking to the
  42868. outside world. (If you are using a graphics system, such as QuickDraw
  42869. GX, that handles arbitrary transformations, you can do this
  42870. automatically by assigning a scaling factor to your internal
  42871. transform.)
  42872.  
  42873. æKY ODPoint
  42874. æC An ODPoint represents a spatial point in a window or document. In
  42875. two-dimensional imaging models (all that exist so far for OpenDoc) it
  42876. is a pair of ODCoordinates. Macintosh developers accustomed to
  42877. QuickDraw should take note that the x coordinate appears first. Also
  42878. note that the coordinates are, of course, fixed-point numbers. On the
  42879. other hand, an ODPoint is identical to a QuickDraw GX gxPoint
  42880. structure.
  42881.  
  42882. æKY ODRect
  42883. æC ODRect represents a rectangle whose sides are aligned with the axes of
  42884. the current coordinate system. It is represented as four ODCoordinates
  42885. giving the left, top, right and bottom extent of the rectangle (in
  42886. that order.) By convention a rectangle does not include its bottom or
  42887. right edge; this makes it easier to have adjacent yet non-overlapping
  42888. rectangles. Macintosh developers accustomed to QuickDraw should note
  42889. that the left coord comes before the top, and likewise the right comes
  42890. before the bottom. On the other hand, an ODRect is identical to a
  42891. QuickDraw GX gxRect structure.
  42892.  
  42893. æKY ODPolygon
  42894. æC An ODPolygon represents a two-dimensional shape made out of straight
  42895. edges. It is the platform-independent interchange format for all
  42896. shapes, including frame shapes. An ODPolygon consists of one or more
  42897. contours, each of which is a closed loop of ODPoints connected by
  42898. straight edges. Polygons with multiple contours may be composed of
  42899. disjoint pieces, or may have interior holes. The convention is that
  42900. clockwise contours [in a left-handed coordinate system as used on the
  42901. Macintosh] fill positive space, while counter-clockwise contours
  42902. represent holes. ODPolygon structures are variable size and are always
  42903. allocated on a heap. They start with a 32-bit count of the number of
  42904. contours. The contours then follow: each starts with a 32-bit point
  42905. count and then the points in order. The last point of a contour is of
  42906. course connected to the first.
  42907.  
  42908. æKY ODMatrix
  42909. æC A 3x3 matrix of fixed-point (ODFixed) numbers used to represent a
  42910. transformation. This is the platform-independent representation of a
  42911. coordinate transformation. Not all graphics systems support these kind
  42912. of transformations; some (like QuickDraw) only support simple offsets.
  42913. See the documentation for the ODTransform class for more details.
  42914.  
  42915. æKY ODGraphicsSystem
  42916. æC An enumeration that lists possible graphics systems. Every graphics
  42917. system supported by OpenDoc, on any platform, should have a unique
  42918. ODGraphicsSystem ID. These values are used in ODTransforms and
  42919. ODShapes to tag graphics-system dependent transform or shape data. For
  42920. instance, on the Macintosh you can feed a Region to an ODShape
  42921. provided you tag it with kODQuickDraw.
  42922.  
  42923. æKY ODPlatformShape
  42924. æC A wrapper for a pointer to graphics-system dependent shape data. The
  42925. data format is unspecified, and it must be tagged with an
  42926. ODGraphicsSystem value to identify which graphics system it belongs
  42927. to. A (ODPlatformShape, ODGraphicsSystem) pair is always sufficient to
  42928. identify the exact type of the data.
  42929.  
  42930. æKY ODPlatformTransform
  42931. æC A wrapper for graphics-system dependent transformation data. The data
  42932. format is unspecified, and it must be tagged with an ODGraphicsSystem
  42933. value to identify which graphics system it belongs to. A
  42934. (ODPlatformTransform, ODGraphicsSystem) pair is always sufficient to
  42935. identify the exact type of the data.
  42936.  
  42937. æKY ODGeometryMode
  42938. æC ODGeometryMode is the geometry mode of an ODShape, which tells whether
  42939. the shape’s geometric info (its polygonal representation) will be
  42940. needed in the future. It has three possible values:  •
  42941. kODPreserveGeometry --the default-- means that the shape will preserve
  42942. its geometric information as long as possible until it is lost by
  42943. combination with a non-geometric shape. • kODLoseGeometry means that
  42944. the geometry is not needed and can be discarded to optimize speed. A
  42945. facet's clipShape will generally have this mode. • kODNeedsGeometry
  42946. means that the geometry is required. Rather than discard geometry, the
  42947. shape will throw a kODErrNoShapeGeometry exception if combined with a
  42948. non-geometric shape. A facet's frameShape and usedShape will have this
  42949. mode since they are stored persistently in polygonal form.
  42950.  
  42951. æKY ODHighlight
  42952. æC An enumeration describing the possible highlight states of an ODFacet.
  42953. Possible values are: kODNoHighlight, the facet is not highlited;
  42954. kODFullHighlight, the facet is highlighted in foreground style;
  42955. kODDimHighlight, the facet is highlighted in background style.
  42956.  
  42957. æKY ODFramePosition
  42958. æC An enumeration describing the position of an ODFrame relative to a
  42959. sibling frame. Possible values are: kODFrameBehind, kODFrameInFront.
  42960.  
  42961. æKY ODInfoType
  42962. æC The type of the partInfo data stored in an ODFrame or ODFacet. This is
  42963. an opaque type. The part editor should cast the partInfo data to and
  42964. from its own representation to use the data.
  42965.  
  42966. æKY Messaging Subsystem Types
  42967. æKL ODIdleProcPtr
  42968. ODEventFilterProcPtr
  42969. ODEventHandlerProcPtr
  42970. ODCoercionHandler
  42971. ODDescCoercionHandler
  42972. ODPtrCoercionHandler
  42973. ODAccessorProcPtr
  42974. ODCompareProcPtr
  42975. ODCountProcPtr
  42976. ODDisposeTokenProcPtr
  42977. ODGetErrDescProcPtr
  42978. ODGetMarkTokenProcPtr
  42979. ODMarkProcPtr
  42980. ODAdjustMarksProcPtr
  42981. ODSpecialHandlerPtr
  42982. ODTokenInquiryProcPtr
  42983. ODDescType
  42984. ODSendMode
  42985. ODSendPriority
  42986. ODEventClass
  42987. ODEventID
  42988. æC Types used by clients of the Messaging subsystem. Most of the function
  42989. pointer types  correspond to
  42990. AppleEvent function pointer types, with the addition of an ODPart*
  42991. parameter.
  42992.  
  42993. æKY ODIdleProcPtr
  42994. æC See AppleEvent documentation.
  42995.  
  42996. æKY ODEventFilterProcPtr
  42997. æC See AppleEvent documentation.
  42998.  
  42999. æKY ODEventHandlerProcPtr
  43000. æC See AppleEvent documentation.
  43001.  
  43002. æKY ODCoercionHandler
  43003. æC See AppleEvent documentation.
  43004.  
  43005. æKY ODDescCoercionHandler
  43006. æC See AppleEvent documentation.
  43007.  
  43008. æKY ODPtrCoercionHandler
  43009. æC See AppleEvent documentation.
  43010.  
  43011. æKY ODAccessorProcPtr
  43012. æC See AppleEvent documentation.
  43013.  
  43014. æKY ODCompareProcPtr
  43015. æC See AppleEvent documentation.
  43016.  
  43017. æKY ODCountProcPtr
  43018. æC See AppleEvent documentation.
  43019.  
  43020. æKY ODDisposeTokenProcPtr
  43021. æC See AppleEvent documentation.
  43022.  
  43023. æKY ODGetErrDescProcPtr
  43024. æC See AppleEvent documentation.
  43025.  
  43026. æKY ODGetMarkTokenProcPtr
  43027. æC See AppleEvent documentation.
  43028.  
  43029. æKY ODMarkProcPtr
  43030. æC See AppleEvent documentation.
  43031.  
  43032. æKY ODAdjustMarksProcPtr
  43033. æC See AppleEvent documentation.
  43034.  
  43035. æKY ODSpecialHandlerPtr
  43036. æC See AppleEvent documentation.
  43037.  
  43038. æKY ODTokenInquiryProcPtr
  43039. æC Pointer to a function that returns an ODPart* if the given token
  43040. refers to a part, or kODNULL otherwise.
  43041.  
  43042. æKY ODDescType
  43043. æC Same as AEDescType
  43044.  
  43045. æKY ODSendMode
  43046. æC Same as AESendMode. 
  43047.  
  43048. æKY ODSendPriority
  43049. æC Same as AESendPriority.  
  43050.  
  43051. æKY ODEventClass
  43052. æC Same as AEEventClass.  
  43053.  
  43054. æKY ODEventID
  43055. æC Same as AEEventID.  
  43056.  
  43057. æKY Storage System Types
  43058. æKL ODDocumentID
  43059. ODDocumentName
  43060. ODDraftID
  43061. ODDraftName
  43062. ODObjectType
  43063.  
  43064. æKY ODDocumentID
  43065. æC ID used to retrieve a Document.
  43066.  
  43067. æKY ODDocumentName
  43068. æC Name associated with a Document
  43069.  
  43070. æKY ODDraftID
  43071. æC Identifier for a Draft.
  43072.  
  43073. æKY ODDraftName
  43074. æC Name associated with a Draft.
  43075.  
  43076. æKY ODObjectType
  43077. æC The type of persistent object which a storageUnit represents.
  43078.  
  43079. æKY UI Subsystem Types
  43080. æKL ODFocusType
  43081. ODPlatformWindow
  43082. ODEventType
  43083. ODEventData
  43084. ODIdleFrequency
  43085. ODPlatformMenu
  43086. ODMenuID
  43087. ODMenuItemID
  43088. ODCommandID
  43089. ODPlatformMenuBar
  43090. ODDoneState
  43091. ODActionData
  43092. ODEventInfo
  43093. æC Types used in the interfaces of the UI subsystem.
  43094.  
  43095. æKY ODFocusType
  43096. æC An ISO string. Can be tokenized using ODSession::Tokenize().
  43097. Arbitrator methods used tokenized form.
  43098.  
  43099. æKY ODPlatformWindow
  43100. æC A platform-specific structure representing a window. On the Macintosh,
  43101. a WindowPtr.
  43102.  
  43103. æKY ODEventType
  43104. æC An unsigned short. Used in the "what" field of a Macintosh event
  43105. record.
  43106.  
  43107. æKY ODEventData
  43108. æC A platform-specific structure representing an event. On the Macintosh,
  43109. a pointer to a Macintosh event record.
  43110.  
  43111. æKY ODIdleFrequency
  43112. æC An unsigned long. The number of ticks (60ths of a second) between
  43113. idles.
  43114.  
  43115. æKY ODPlatformMenu
  43116. æC A platform-specific structure representing a menu. On the Macintosh, a
  43117. MenuHandle.
  43118.  
  43119. æKY ODMenuID
  43120. æC The ID of a menu. On the Macintosh, a signed short.
  43121.  
  43122. æKY ODMenuItemID
  43123. æC The ID  of a menu item. On the Macintosh, a signed short.
  43124.  
  43125. æKY ODCommandID
  43126. æC A signed long. Used for Command IDs associated with menu/item
  43127. combinations.
  43128.  
  43129. æKY ODPlatformMenuBar
  43130. æC A platform-specific structure representing a menu bar. A Handle, on
  43131. the Macintosh. 
  43132.  
  43133. æKY ODDoneState
  43134. æC Type of value passed to Part::DisposeActionState(). Possible values:
  43135. kODDone or kODRedone if the action was on the Undo stack. kODUndone if
  43136. the action was on the Redo stack.
  43137.  
  43138. æKY ODActionData
  43139. æC Action data for Undo/Redo. Defined to be an ODPtr.
  43140.  
  43141. æKY ODEventInfo
  43142. æC Additional information passed to ODPart::HandleEvent. Contains four
  43143. fields: embeddedFrame, embeddedFacet, where, and propagated. The
  43144. embeddedFrame and embeddedFacet are filled in for events like
  43145. kODEvtMouseDownInEmbedded which are sent to the containing part, but
  43146. refer to an embedded frame. The "where" field contains an ODPoint in
  43147. local (frame) coordinates. The propagated field is set if the
  43148. containing part has set the propagateEvents flag of an embedded frame,
  43149. and that embedded frame has not handled an event, which the dispatcher
  43150. has then passed to the container.
  43151.  
  43152.  
  43153. æKY ODUndoHelp
  43154. ODUndo
  43155. Undo
  43156. æKL ODUndo::ODUndo
  43157. ODUndo::~ODUndo
  43158. ODUndo::AbortCurrentTransaction
  43159. ODUndo::AddActionToHistory
  43160. ODUndo::ClearActionHistory
  43161. ODUndo::ClearRedoHistory
  43162. ODUndo::InitUndo
  43163. ODUndo::MarkActionHistory
  43164. ODUndo::PeekRedoHistory
  43165. ODUndo::PeekUndoHistory
  43166. ODUndo::Purge
  43167. ODUndo::Redo
  43168. ODUndo::Undo
  43169. ODUndo::fRedoStack
  43170. ODUndo::fUndoStack
  43171. æC Basic Class Documentation
  43172. ODUndo is used to store command history.
  43173. ODUndo  is a derived class of ODObject. 
  43174. ODUndo is largely platform-independent.
  43175. If per-document undo is supported, ODUndo is closely tied to ODDraft.
  43176. Each draft should contain at most one ODUndo object. 
  43177.  
  43178. Theory of Operation
  43179. ODUndo is a session-wide object used to store command history.
  43180. The OpenDoc session object creates  an ODUndo object. Parts and the
  43181. OpenDoc shell access ODUndo  through ODSession. If thread safety is a
  43182. concern, the part should acquire the undo focus fromODArbitrator
  43183. first. As soon as the part is done with the ODUndo object, it should
  43184. reliquish the undo focus at once.
  43185. Conceptually, ODUndo object contains two stacks -- the Undo Stack and
  43186. the Redo Stack. When an action is done, the action data provided by
  43187. the part is put on the Undo Stack. When an action needs to be
  43188. "undone", the action data is popped from the Undo stack onto the Redo
  43189. stack. At the same time, the part is also notified so that it can undo
  43190. its previous action using the stored action data. When an undone
  43191. action needs to be redone, the action data is popped from the Redo
  43192. Stack back to the Undo Stack. The part is also notified so that it can
  43193. redo the undone action.
  43194. The Undo Stack and Redo Stack can be cleared upon request. When
  43195. clearing is to be done, ODUndo asks each part to dispose of its action
  43196. data stored in the Stacks. The order of disposal is done from older
  43197. actions to newer actions.
  43198. There are times when a subhistory is required. For example, one may
  43199. need a new action context when entering a modal state e.g, a modal
  43200. dialog. ODUndo allows "marks" to be placed on the Stacks. If a mark is
  43201. placed on a Stack, the Stack may only be cleared to the mark. In our
  43202. example, when the modal dialog exits, any actions done within the
  43203. context of the dialog are disposed of. However, all the actions done
  43204. before the modal dialog are preserved in the Stacks. 
  43205. ODUndo object also allows callers to peek at the top of the Undo Stack
  43206. and the Redo Stack. The application shell can then peek to find out
  43207. the action labels and use the labels for menu items.
  43208.  
  43209. Invariants Maintained by Class
  43210. ODUndo must contain two stacks (an undo stack and a redo stack) at all
  43211. times.
  43212. æKY ODUndo::ODUndo
  43213. Undo::ODUndo
  43214. Undo->ODUndo
  43215. æT Class Method
  43216. æD ODUndo();
  43217.  
  43218. æC Protection
  43219.     Private.  Meant to called from ODSession
  43220.  
  43221. Override policy
  43222.     Derived class cannot override.
  43223.     Derived class cannot call base class behavior, during derived class behavior.
  43224.  
  43225. Basic operation
  43226. Constructs the Undo object. 
  43227.  
  43228. Inputs
  43229. None
  43230.  
  43231. Outputs
  43232. None
  43233.  
  43234. Exceptions Signalled
  43235. None.
  43236.  
  43237. Pre conditions
  43238. None.
  43239.  
  43240. Post conditions
  43241. Object is allocated and in a safe state.
  43242.  
  43243. æKY ODUndo::~ODUndo
  43244. Undo::~ODUndo
  43245. Undo->~ODUndo
  43246. æT Class Method
  43247. æD ~ODUndo();
  43248.  
  43249. æC Protection
  43250.     Private.  Meant to called from ODSession
  43251.  
  43252. Override policy
  43253.     Derived class cannot override.
  43254.     Derived class cannot call base class behavior, during derived class behavior.
  43255.  
  43256. Basic operation
  43257. Frees the memory allocated by this
  43258.  
  43259. Inputs
  43260. None
  43261.  
  43262. Outputs
  43263. None
  43264.  
  43265. Exceptions Signalled
  43266. None.
  43267.  
  43268. Pre conditions
  43269. None.
  43270.  
  43271. Post conditions
  43272. Object is destroyed.
  43273.  
  43274. æKY ODUndo::AbortCurrentTransaction
  43275. Undo::AbortCurrentTransaction
  43276. Undo->AbortCurrentTransaction
  43277. æT Class Method
  43278. æD 
  43279.  
  43280. æC Protection
  43281.     Public.  
  43282.  
  43283. Override policy
  43284.     Derived class can override.
  43285.     Derived class must call base class behavior, during derived class behavior.
  43286.  
  43287. Basic operation
  43288. This method removes all single actions up to the last begin action and
  43289. removes the begin action as well. If there were a nested transaction
  43290. in the current transaction, it would be entirely removed. The
  43291. UndoAction methods of the parts are called so that the parts can
  43292. restore themselves to their state before the transaction began.
  43293.  
  43294. Inputs
  43295. None.
  43296.  
  43297. Outputs
  43298. None.
  43299.  
  43300. Exceptions Signalled
  43301. None.
  43302.  
  43303. Pre conditions
  43304. A transaction must have been started and not finished, i.e., a part
  43305. must have added a begin action to the history and no end action has
  43306. yet been added to the history.
  43307.  
  43308. Post conditions
  43309. The current transaction (and any nested transactions) will be removed
  43310. from the action history.
  43311.  
  43312. æKY ODUndo::AddActionToHistory
  43313. Undo::AddActionToHistory
  43314. Undo->AddActionToHistory
  43315. æT Class Method
  43316. æD void AddActionToHistory(
  43317. ODPart* whichPart,
  43318. ODActionData actionData,
  43319. ODActionType actionType,
  43320. ODName* actionLabel);
  43321.  
  43322. æC Protection
  43323.     Public.  Parts can call, but shell apps must not call.
  43324.  
  43325. Override policy
  43326.     Derived class cannot override.
  43327.     Derived class cannot call base class behavior, during derived class behavior.
  43328.  
  43329. Basic operation
  43330. This function pushes actionData together with its associated part onto
  43331. the Undo Stack.
  43332.  
  43333. Inputs
  43334. whichPart
  43335.     the part that performed the action
  43336. actionData
  43337.     Data provided the part with which it can restore itself to the
  43338. pre-action state
  43339. actionType
  43340.     kSingleAction means it is a single action. kBeginAction means the
  43341. first of a two-part action.kEndAction means the second of a two-part
  43342. action.
  43343. undoActionLabel
  43344.     A user-visible label for the undo command including the word "Undo". 
  43345. redoActionLabel
  43346.     A user-visible label for the redo command including the word "Redo". 
  43347.  
  43348. Outputs
  43349. None
  43350.  
  43351. Exceptions Signalled
  43352. kODErrCannotAddAction
  43353.     Currently already doing an undo or redo; trying to add a nested begin
  43354. action.
  43355. kODErrOutOfMemory
  43356.     Initialization of ODUndo object failed; Couldn't allocate memory for
  43357. action info. 
  43358.  
  43359. Pre conditions
  43360. Undo Stack has been created.
  43361.  
  43362. Post conditions
  43363. whichPart and actionData are on the top of the Undo Stack.
  43364.  
  43365. æKY ODUndo::ClearActionHistory
  43366. Undo::ClearActionHistory
  43367. Undo->ClearActionHistory
  43368. æT Class Method
  43369. æD void ClearActionHistory(
  43370. ODRespectMarksChoices respectMarks);
  43371.  
  43372. æC Protection
  43373.     Public.  
  43374.  
  43375. Override policy
  43376.     Derived class cannot override.
  43377.     Derived class cannot call base class behavior, during derived class behavior.
  43378.  
  43379. Basic operation
  43380. This function clears the Stacks down to the last marks if respectMarks
  43381. is kODRespectMarks. Otherwise, it clears the Stacks. If
  43382. kODRespectMarks is true, the previous marks are cleared.
  43383.  
  43384. Inputs
  43385. respectMarks
  43386.     respect or don't respect marks.
  43387.  
  43388. Outputs
  43389. None
  43390.  
  43391. Exceptions Signalled
  43392. None.
  43393.  
  43394. Pre conditions
  43395. Undo Stack and Redo Stack have been created.
  43396.  
  43397. Post conditions
  43398. Undo Stack and Redo Stack should be empty or cleared to the marks
  43399. depending on respectMarks.
  43400.  
  43401. æKY ODUndo::ClearRedoHistory
  43402. Undo::ClearRedoHistory
  43403. Undo->ClearRedoHistory
  43404. æT Class Method
  43405. æD void ClearRedoHistory();
  43406.  
  43407. æC Protection
  43408.     Public.  
  43409.  
  43410. Override policy
  43411.     Derived class cannot override.
  43412.     Derived class cannot call base class behavior, during derived class behavior.
  43413.  
  43414. Basic operation
  43415. This function clears the Redo history. Marks are always respected.
  43416.  
  43417. Inputs
  43418. None
  43419.  
  43420. Outputs
  43421. None
  43422.  
  43423. Exceptions Signalled
  43424. None.
  43425.  
  43426. Pre conditions
  43427. Redo Stack has been created.
  43428.  
  43429. Post conditions
  43430. Redo Stack should be empty.
  43431.  
  43432. æKY ODUndo::InitUndo
  43433. Undo::InitUndo
  43434. Undo->InitUndo
  43435. æT Class Method
  43436. æD void InitUndo();
  43437.  
  43438. æC Protection
  43439.     Private.  Meant to be called from ODSession only.
  43440.  
  43441. Override policy
  43442.     Derived class cannot override.
  43443.     Derived class cannot call base class behavior, before derived class behavior.
  43444.  
  43445. Basic operation
  43446. Performs initialization which can fail.
  43447.  
  43448. Inputs
  43449. None
  43450.  
  43451. Outputs
  43452. None
  43453.  
  43454. Exceptions Signalled
  43455. kODErrOutOfMemory
  43456.     Not enough memory to allocated undo and redo stacks and shared memory.
  43457. Others…
  43458.     AppleEvent and ASLM errors also possible.
  43459.  
  43460. Pre conditions
  43461. None.
  43462.  
  43463. Post conditions
  43464. The object is fully initialized.
  43465.  
  43466. æKY ODUndo::MarkActionHistory
  43467. Undo::MarkActionHistory
  43468. Undo->MarkActionHistory
  43469. æT Class Method
  43470. æD void MarkActionHistory();
  43471.  
  43472. æC Protection
  43473.     Public.  
  43474.  
  43475. Override policy
  43476.     Derived class cannot override.
  43477.     Derived class cannot call base class behavior, during derived class behavior.
  43478.  
  43479. Basic operation
  43480. This function places a mark on top of the Undo Stack and the Redo
  43481. Stack. The marks are used to indicate the beginning of a subhistory.
  43482. When ODUndo::ClearActionHistory is done, the caller has the choice to
  43483. clear the whole Stacks or to clear only down to these marks. This can
  43484. be used when entering a modal state like a modal dialog, to give the
  43485. effect of creating a new context.
  43486.  
  43487. Inputs
  43488. None
  43489.  
  43490. Outputs
  43491. None
  43492.  
  43493. Exceptions Signalled
  43494. kODErrCannotMarkAction
  43495.     ODUndo was never initialized properly. 
  43496.  
  43497. Pre conditions
  43498. Both Undo Stack and Redo Stack are created.
  43499.  
  43500. Post conditions
  43501. Marks are on top of both Undo Stack and Redo Stack.
  43502.  
  43503. æKY ODUndo::PeekRedoHistory
  43504. Undo::PeekRedoHistory
  43505. Undo->PeekRedoHistory
  43506. æT Class Method
  43507. æD ODBoolean PeekRedoHistory(
  43508. ODPart** part,
  43509. ODActionData* actionData,
  43510. ODActionType* actionType,
  43511. ODName** actionLabel);
  43512.  
  43513. æC Protection
  43514.     Public.  
  43515.  
  43516. Override policy
  43517.     Derived class cannot override.
  43518.     Derived class cannot call base class behavior, during derived class behavior.
  43519.  
  43520. Basic operation
  43521. This function returns information about the redoable action on the top
  43522. of the Redo Stack. If the function returns kODTrue, there was an
  43523. action to return, else no action was available and the information in
  43524. the parameters is invalid. This function repects marks.
  43525.  
  43526. Inputs
  43527. None
  43528.  
  43529. Outputs
  43530. part
  43531.     Part which performed the redoable action
  43532. actionData
  43533.     Action data provided by part
  43534. actionType
  43535.     kSingleAction, kBeginAction, kEndAction
  43536. actionLabel
  43537.     User visible redo string. A pointer to internal storage is passed back
  43538. so care should be taken to make a copy.
  43539. Return
  43540.     Returns whether there was anything on the stack.
  43541.  
  43542. Exceptions Signalled
  43543. None.
  43544.  
  43545. Pre conditions
  43546. None.
  43547.  
  43548. Post conditions
  43549. None.
  43550.  
  43551. æKY ODUndo::PeekUndoHistory
  43552. Undo::PeekUndoHistory
  43553. Undo->PeekUndoHistory
  43554. æT Class Method
  43555. æD ODBoolean PeekUndoHistory(
  43556. ODPart** part,
  43557. ODActionData* actionData,
  43558. ODActionType* actionType,
  43559. ODName** actionLabel);
  43560.  
  43561. æC Protection
  43562.     Public.  
  43563.  
  43564. Override policy
  43565.     Derived class cannot override.
  43566.     Derived class cannot call base class behavior, during derived class behavior.
  43567.  
  43568. Basic operation
  43569. This function returns information about the undoable action on the top
  43570. of the Undo Stack. If the function returns kODTrue, there was an
  43571. action to return, else no action was available and the information in
  43572. the parameters is invalid. This function repects marks.
  43573.  
  43574. Inputs
  43575. None
  43576.  
  43577. Outputs
  43578. part
  43579.     Part which performed the undoable action
  43580. actionData
  43581.     Action data provided by part
  43582. actionType
  43583.     kSingleAction, kBeginAction, kEndAction
  43584. actionLabel
  43585.     User visible undo string. A pointer to internal storage is returned so
  43586. care should be taken to make a copy.
  43587. Return
  43588.     Returns whether there was anything on the stack.
  43589.  
  43590. Exceptions Signalled
  43591. None.
  43592.  
  43593. Pre conditions
  43594. None.
  43595.  
  43596. Post conditions
  43597. None.
  43598.  
  43599. æKY ODUndo::Purge
  43600. Undo::Purge
  43601. Undo->Purge
  43602. æT Class Method
  43603. æD ODSize Purge(
  43604. ODSize size);
  43605.  
  43606. æC Protection
  43607.     Public.  
  43608.  
  43609. Override policy
  43610.     Derived class cannot override.
  43611.     Derived class cannot call base class behavior, during derived class behavior.
  43612.  
  43613. Basic operation
  43614. Frees up some memory, if possible.
  43615.  
  43616. Inputs
  43617. size
  43618.     The amount of memory requested
  43619.  
  43620. Outputs
  43621. <return>
  43622.     The amount of memory actually freed.
  43623.  
  43624. Exceptions Signalled
  43625. None.
  43626.  
  43627. Pre conditions
  43628. None.
  43629.  
  43630. Post conditions
  43631. Some memory may be freed.
  43632.  
  43633. æKY ODUndo::Redo
  43634. Undo::Redo
  43635. Undo->Redo
  43636. æT Class Method
  43637. æD void Redo();
  43638.  
  43639. æC Protection
  43640.     Public.  Usually the container is responsible for calling this.
  43641.  
  43642. Override policy
  43643.     Derived class cannot override.
  43644.     Derived class cannot call base class behavior, during derived class behavior.
  43645.  
  43646. Basic operation
  43647. This function redoes the last undone action in the Redo history.
  43648.  
  43649. Inputs
  43650. None
  43651.  
  43652. Outputs
  43653. None
  43654.  
  43655. Exceptions Signalled
  43656. Others…
  43657.     AppleEvent errors and any error returned from the part.
  43658. kODErrEmptyStack
  43659.     Redo stack is empty; Undo object was never initialized.
  43660.  
  43661. Pre conditions
  43662. Both Undo Stack and Redo Stack are created.
  43663. Redo Stack is not empty.
  43664.  
  43665. Post conditions
  43666. What was on top of the Redo Stack is now on top of the Undo Stack.
  43667.  
  43668. æKY ODUndo::Undo
  43669. Undo::Undo
  43670. Undo->Undo
  43671. æT Class Method
  43672. æD void Undo();
  43673.  
  43674. æC Protection
  43675.     Public.  Usually only called by the container app or document shell.
  43676.  
  43677. Override policy
  43678.     Derived class cannot override.
  43679.     Derived class cannot call base class behavior, during derived class behavior.
  43680.  
  43681. Basic operation
  43682. This function undoes the last action in the Undo history.
  43683.  
  43684. Inputs
  43685. None
  43686.  
  43687. Outputs
  43688. None
  43689.  
  43690. Exceptions Signalled
  43691. Other…
  43692.     AppleEvent errors or any errors returned by the part.
  43693. kODErrEmptyStack
  43694.     Undo stack is empty; Undo object was never initialized.
  43695.  
  43696. Pre conditions
  43697. Both Undo Stack and Redo Stack are created.
  43698. Undo Stack is not empty.
  43699.  
  43700. Post conditions
  43701. What was on top of the Undo Stack is now on top of the Redo Stack.
  43702.  
  43703. æKY ODUndo::fRedoStack
  43704. Undo::fRedoStack
  43705. æT Class Field
  43706. æD ODStack* fRedoStack;
  43707. æC Persistent form
  43708. None.
  43709.  
  43710. æKY ODUndo::fUndoStack
  43711. Undo::fUndoStack
  43712. æT Class Field
  43713. æD ODStack* fUndoStack;
  43714. æC 
  43715.  
  43716. æKY ODValueIteratorHelp
  43717. ODValueIterator
  43718. ValueIterator
  43719. æKL ODValueIterator::~ODValueIterator
  43720. ODValueIterator::
  43721. ODValueIterator::First
  43722. ODValueIterator::InitValueIterator
  43723. ODValueIterator::IsNotComplete
  43724. ODValueIterator::Next
  43725. ODValueIterator::fNameSpace
  43726. ODValueIterator::fStrHashIterator
  43727. æC Basic Class Documentation
  43728. This class is an iterator for use with the ODValueNameSpace class. It
  43729. has no superclass. The platform vendor will implement.
  43730.  
  43731. Theory of Operation
  43732. This iterator follows the standard semantics of OpenDoc iterators
  43733. except that two values are returned in pointer parameters: the key and
  43734. the value. This class is a friend of ODValueNameSpace. It's
  43735. implementation depends heavily on the implementation of the
  43736. ODValueNameSpace class. 
  43737.  
  43738. Invariants Maintained by Class
  43739. It is only meant to be used in the context of a for statement. Any
  43740. other use is not guaranteed to be correct.
  43741. æKY ODValueIterator::~ODValueIterator
  43742. ValueIterator::~ODValueIterator
  43743. ValueIterator->~ODValueIterator
  43744. æT Class Method
  43745. æD ~ODValueIterator();
  43746.  
  43747. æC Protection
  43748.     Public.  
  43749.  
  43750. Override policy
  43751.     Derived class cannot override.
  43752.     Derived class cannot call base class behavior.
  43753.  
  43754. Basic operation
  43755. Deletes private storage.
  43756.  
  43757. Inputs
  43758. None.
  43759.  
  43760. Outputs
  43761. None
  43762.  
  43763. Exceptions Signalled
  43764. None.
  43765.  
  43766. Pre conditions
  43767. None.
  43768.  
  43769. Post conditions
  43770. None.
  43771.  
  43772. æKY ODValueIterator::None.
  43773. ValueIterator::None.
  43774. ValueIterator->None.
  43775. æT Class Method
  43776. æD 
  43777.  
  43778. æC Protection
  43779.     Public.  
  43780.  
  43781. Override policy
  43782.     Derived class can override.
  43783.     Derived class can call base class behavior.
  43784.  
  43785. Basic operation
  43786. None.
  43787.  
  43788. Inputs
  43789. None.
  43790.  
  43791. Outputs
  43792. None.
  43793.  
  43794. Exceptions Signalled
  43795. None.
  43796.  
  43797. Pre conditions
  43798. None.
  43799.  
  43800. Post conditions
  43801. None.
  43802.  
  43803. æKY ODValueIterator::First
  43804. ValueIterator::First
  43805. ValueIterator->First
  43806. æT Class Method
  43807. æD void First(
  43808. ODISOStr* key,
  43809. ODByteArray* value);
  43810.  
  43811. æC Protection
  43812.     Public.  
  43813.  
  43814. Override policy
  43815.     Derived class cannot override.
  43816.     Derived class cannot call base class behavior.
  43817.  
  43818. Basic operation
  43819. Return the first key/value pair. If there are no entries in the table,
  43820. the values returned are garbage and the next call to IsNotComplete
  43821. will return false. Note that the ODISOStr returned is a copy. The
  43822. client must dispose of it.
  43823.  
  43824. Inputs
  43825. key
  43826.     a pointer to the key to be returned.
  43827. value
  43828.     a pointer to the ODByteArray containing the value to be returned.
  43829.  
  43830. Outputs
  43831. key
  43832.     the key placed in the storage pointed to by key.
  43833. value
  43834.     the value placed in the storage pointed to by value .
  43835.  
  43836. Exceptions Signalled
  43837. None.
  43838.  
  43839. Pre conditions
  43840. None.
  43841.  
  43842. Post conditions
  43843. None.
  43844.  
  43845. æKY ODValueIterator::InitValueIterator
  43846. ValueIterator::InitValueIterator
  43847. ValueIterator->InitValueIterator
  43848. æT Class Method
  43849. æD InitValueIterator(
  43850. ODValueNameSpace* nameSpace);
  43851.  
  43852. æC Protection
  43853.     Private.  should only be called by ODValueNameSpace
  43854.  
  43855. Override policy
  43856.     Derived class cannot override.
  43857.     Derived class cannot call base class behavior.
  43858.  
  43859. Basic operation
  43860. Initialize the private member variables.
  43861.  
  43862. Inputs
  43863. nameSpace
  43864.     The ODValueNameSpace over which to iterate.
  43865.  
  43866. Outputs
  43867. None
  43868.  
  43869. Exceptions Signalled
  43870. None.
  43871.  
  43872. Pre conditions
  43873. A valid ODValueNameSpace must exist.
  43874.  
  43875. Post conditions
  43876. None.
  43877.  
  43878. æKY ODValueIterator::IsNotComplete
  43879. ValueIterator::IsNotComplete
  43880. ValueIterator->IsNotComplete
  43881. æT Class Method
  43882. æD ODBoolean IsNotComplete();
  43883.  
  43884. æC Protection
  43885.     Public.  
  43886.  
  43887. Override policy
  43888.     Derived class cannot override.
  43889.     Derived class cannot call base class behavior.
  43890.  
  43891. Basic operation
  43892. Return whether we have tried to go beyond the end of the
  43893. ODValueNameSpace entries. 
  43894.  
  43895. Inputs
  43896. None
  43897.  
  43898. Outputs
  43899. <return>
  43900.     kODFalse if we have tried to get an entry that was beyond the end of
  43901. the table, kODTrue otherwise.
  43902.  
  43903. Exceptions Signalled
  43904. None.
  43905.  
  43906. Pre conditions
  43907. None.
  43908.  
  43909. Post conditions
  43910. None.
  43911.  
  43912. æKY ODValueIterator::Next
  43913. ValueIterator::Next
  43914. ValueIterator->Next
  43915. æT Class Method
  43916. æD void Next(
  43917. ODISOStr* key,
  43918. ODByteArray* value);
  43919.  
  43920. æC Protection
  43921.     Public.  
  43922.  
  43923. Override policy
  43924.     Derived class cannot override.
  43925.     Derived class cannot call base class behavior.
  43926.  
  43927. Basic operation
  43928. Return the next key/value pair. If there are no more entries in the
  43929. table, the values returned are garbage and the next call to
  43930. IsNotComplete will return false. Note that the ODISOStr returned is a
  43931. copy. The client must dispose of it.
  43932.  
  43933. Inputs
  43934. key
  43935.     a pointer to the key to be returned.
  43936. value
  43937.     a pointer to the ODByteArray containing the  value to be returned.
  43938.  
  43939. Outputs
  43940. key
  43941.     the key placed in the storage pointed to by key.
  43942. value
  43943.     the value placed in the storage pointed to by value .
  43944.  
  43945. Exceptions Signalled
  43946. None.
  43947.  
  43948. Pre conditions
  43949. First must be have been called!
  43950.  
  43951. Post conditions
  43952. None.
  43953.  
  43954. æKY ODValueIterator::fNameSpace
  43955. ValueIterator::fNameSpace
  43956. æT Class Field
  43957. æD ODValueNameSpace* fNameSpace;
  43958. æC Persistent form
  43959. None.
  43960.  
  43961. æKY ODValueIterator::fStrHashIterator
  43962. ValueIterator::fStrHashIterator
  43963. æT Class Field
  43964. æD ODStringHashTableIterator* fStrHashIterator;
  43965. æC Persistent form
  43966. None.
  43967.  
  43968.  
  43969. æKY ODValueNameSpaceHelp
  43970. ODValueNameSpace
  43971. ValueNameSpace
  43972. æKL ODValueNameSpace::ODValueNameSpace
  43973. ODValueNameSpace::~ODValueNameSpace
  43974. ODValueNameSpace::CreateIterator
  43975. ODValueNameSpace::GetEntry
  43976. ODValueNameSpace::InitValueNameSpace
  43977. ODValueNameSpace::ReadFromFile
  43978. ODValueNameSpace::ReadFromStorage
  43979. ODValueNameSpace::Register
  43980. ODValueNameSpace::Unregister
  43981. ODValueNameSpace::WriteToFile
  43982. ODValueNameSpace::WriteToStorage
  43983. æC Basic Class Documentation
  43984. This class represents a value name space. Objects of this class are
  43985. created by member functions of the ODNameSpaceManager class. The
  43986. platform vendor will implement. ODValueNameSpace is a subclass of
  43987. ODNameSpace.
  43988.  
  43989. Theory of Operation
  43990. This class allows registering ODByteArrays witha keys of type
  43991. ODISOStr. Values are hashed for quick lookup.
  43992.  
  43993. Invariants Maintained by Class
  43994. There is always a valid hash table instantiated to hold the key/value
  43995. pairs. It may be empty.
  43996. æKY ODValueNameSpace::ODValueNameSpace
  43997. ValueNameSpace::ODValueNameSpace
  43998. ValueNameSpace->ODValueNameSpace
  43999. æT Class Method
  44000. æD ODValueNameSpace();
  44001.  
  44002. æC Protection
  44003.     Private.  Only called by ODNameSpaceManager::CreateNameSpace.
  44004.  
  44005. Override policy
  44006.     Derived class cannot override.
  44007.     Derived class cannot call base class behavior, during derived class behavior.
  44008.  
  44009. Basic operation
  44010. Initialize an ODNameSpace class
  44011.  
  44012. Inputs
  44013. None.
  44014.  
  44015. Outputs
  44016. None
  44017.  
  44018. Exceptions Signalled
  44019. None.
  44020.  
  44021. Pre conditions
  44022. None.
  44023.  
  44024. Post conditions
  44025. A new ODNameSpace class will be created.
  44026.  
  44027. æKY ODValueNameSpace::~ODValueNameSpace
  44028. ValueNameSpace::~ODValueNameSpace
  44029. ValueNameSpace->~ODValueNameSpace
  44030. æT Class Method
  44031. æD virtual ~ODValueNameSpace();
  44032.  
  44033. æC Protection
  44034.     Private.  Called only by ODNameSpaceManager::DeleteNameSpace.
  44035.  
  44036. Override policy
  44037.     Derived class cannot override.
  44038.     Derived class cannot call base class behavior, during derived class behavior.
  44039.  
  44040. Basic operation
  44041. Destroys the ODNameSpace object and any associated storage.
  44042.  
  44043. Inputs
  44044. None
  44045.  
  44046. Outputs
  44047. None
  44048.  
  44049. Exceptions Signalled
  44050. None.
  44051.  
  44052. Pre conditions
  44053. None.
  44054.  
  44055. Post conditions
  44056. Object all gone.
  44057.  
  44058. æKY ODValueNameSpace::CreateIterator
  44059. ValueNameSpace::CreateIterator
  44060. ValueNameSpace->CreateIterator
  44061. æT Class Method
  44062. æD ODValueIterator CreateIterator();
  44063.  
  44064. æC Protection
  44065.     Public.  
  44066.  
  44067. Override policy
  44068.     Derived class can override.
  44069.     Derived class can call base class behavior, during derived class behavior.
  44070.  
  44071. Basic operation
  44072. None.
  44073.  
  44074. Inputs
  44075. None.
  44076.  
  44077. Outputs
  44078. ODValueIterator
  44079.     An iterator for this name space.
  44080.  
  44081. Exceptions Signalled
  44082. None.
  44083.  
  44084. Pre conditions
  44085. None.
  44086.  
  44087. Post conditions
  44088. None.
  44089.  
  44090. æKY ODValueNameSpace::GetEntry
  44091. ValueNameSpace::GetEntry
  44092. ValueNameSpace->GetEntry
  44093. æT Class Method
  44094. æD ODBoolean GetEntry(
  44095. ODISOStr key,
  44096. ODByteArray* value);
  44097.  
  44098. æC Protection
  44099.     Public.  
  44100.  
  44101. Override policy
  44102.     Derived class can override.
  44103.     Derived class can call base class behavior, during derived class behavior.
  44104.  
  44105. Basic operation
  44106. None.
  44107.  
  44108. Inputs
  44109. key
  44110.     An ODISOStr hash key used to look up a value in the name space.
  44111. value
  44112.     The ODByteArray containing the value returned from the lookup.
  44113.  
  44114. Outputs
  44115. Return
  44116.     ODBoolean indicating if an entry for this key is found or not.
  44117.  
  44118. Exceptions Signalled
  44119. None.
  44120.  
  44121. Pre conditions
  44122. None.
  44123.  
  44124. Post conditions
  44125. None.
  44126.  
  44127. æKY ODValueNameSpace::InitValueNameSpace
  44128. ValueNameSpace::InitValueNameSpace
  44129. ValueNameSpace->InitValueNameSpace
  44130. æT Class Method
  44131. æD void InitValueNameSpace(
  44132. ODNameSpaceManager* mgr,
  44133. ODNameSpace*        parent,
  44134. ODULong             numExpectedEntries,
  44135. ODISOStr            name);
  44136.  
  44137. æC Protection
  44138.     Private.  Should only be called by ODNameSpaceManager
  44139.  
  44140. Override policy
  44141.     Derived class cannot override.
  44142.     Derived class cannot call base class behavior.
  44143.  
  44144. Basic operation
  44145. Initializes the object.
  44146.  
  44147. Inputs
  44148. mgr
  44149.     The NameSpaceManager object that this NameSpace belongs to.
  44150. parent
  44151.     An ODNameSpace to search if a GetValue fails in this one.
  44152. numExpectedEntries
  44153.     The number of expected entries.
  44154. name
  44155.     the name to give this ODNameSpace.
  44156.  
  44157. Outputs
  44158. None.
  44159.  
  44160. Exceptions Signalled
  44161. kODErrOutOfMemory
  44162.     Out of memory.
  44163.  
  44164. Pre conditions
  44165. None.
  44166.  
  44167. Post conditions
  44168. The object will be initialized.
  44169.  
  44170. æKY ODValueNameSpace::ReadFromFile
  44171. ValueNameSpace::ReadFromFile
  44172. ValueNameSpace->ReadFromFile
  44173. æT Class Method
  44174. æD void ReadFromFile(
  44175. PlatformFile file);
  44176.  
  44177. æC Protection
  44178.     Public.  
  44179.  
  44180. Override policy
  44181.     Derived class can override.
  44182.     Derived class can call base class behavior.
  44183.  
  44184. Basic operation
  44185. Read the name space from the file into this ODNameSpace. Assumes that
  44186. the data was written with WriteToFile. If the name of the name space
  44187. doesn not match that that was stored in the stream, an exception will
  44188. be thrown. It's assumed that the file's cursor has been placed at the
  44189. beginning of the data stream.
  44190.  
  44191. Inputs
  44192. file
  44193.     The file from which to read the data.
  44194.  
  44195. Outputs
  44196. None.
  44197.  
  44198. Exceptions Signalled
  44199. kODErrInvalidName
  44200.     The stored name does not match that of the name space.
  44201.  
  44202. Pre conditions
  44203. Data must have been streamed with WriteToFile.
  44204.  
  44205. Post conditions
  44206. The name space will contain entries corresponding to the streamed
  44207. data.
  44208.  
  44209. æKY ODValueNameSpace::ReadFromStorage
  44210. ValueNameSpace::ReadFromStorage
  44211. ValueNameSpace->ReadFromStorage
  44212. æT Class Method
  44213. æD void ReadFromStorage(
  44214. ODStorageUnitView* view);
  44215.  
  44216. æC Protection
  44217.     Public.  
  44218.  
  44219. Override policy
  44220.     Derived class can override.
  44221.     Derived class can call base class behavior, during derived class behavior.
  44222.  
  44223. Basic operation
  44224. Read the name space from storage into this ODNameSpace. Assumes that
  44225. the data was written with WriteToStorage. If the name of the name
  44226. space doesn not match that that was stored in the stream, an exception
  44227. will be thrown.
  44228.  
  44229. Inputs
  44230. view
  44231.     The storage unit from which to read the data.
  44232.  
  44233. Outputs
  44234. None.
  44235.  
  44236. Exceptions Signalled
  44237. kODErrInvalidName
  44238.     The stored name does not match that of the name space.
  44239.  
  44240. Pre conditions
  44241. Data must have been streamed with WriteToStorage.
  44242.  
  44243. Post conditions
  44244. The name space will contain entries corresponding to the streamed
  44245. data.
  44246.  
  44247. æKY ODValueNameSpace::Register
  44248. ValueNameSpace::Register
  44249. ValueNameSpace->Register
  44250. æT Class Method
  44251. æD void Register(
  44252. ODISOStr key,
  44253. ODByteArray value);
  44254.  
  44255. æC Protection
  44256.     Public.  
  44257.  
  44258. Override policy
  44259.     Derived class can override.
  44260.     Derived class can call base class behavior, during derived class behavior.
  44261.  
  44262. Basic operation
  44263. None.
  44264.  
  44265. Inputs
  44266. key
  44267.     ODISOStr key for the entry to be added.
  44268. value
  44269.     ODByteArray containing the value to be added.
  44270.  
  44271. Outputs
  44272. None.
  44273.  
  44274. Exceptions Signalled
  44275. None.
  44276.  
  44277. Pre conditions
  44278. ODByteArray is valid.
  44279.  
  44280. Post conditions
  44281. Memory is allocated and an entry is added tothe name space.
  44282.  
  44283. æKY ODValueNameSpace::Unregister
  44284. ValueNameSpace::Unregister
  44285. ValueNameSpace->Unregister
  44286. æT Class Method
  44287. æD virtual void Unregister(
  44288. ODISOStr key);
  44289.  
  44290. æC Protection
  44291.     Public.  
  44292.  
  44293. Override policy
  44294.     Derived class can override.
  44295.     Derived class can call base class behavior, during derived class behavior.
  44296.  
  44297. Basic operation
  44298. Removes the given entry from the ODNameSpace.
  44299.  
  44300. Inputs
  44301. key
  44302.     Key for the entry to be removed.
  44303.  
  44304. Outputs
  44305. None.
  44306.  
  44307. Exceptions Signalled
  44308. None.
  44309.  
  44310. Pre conditions
  44311. The given entry must have been registered. No error is signalled,
  44312. however, if the key does not already exist.
  44313.  
  44314. Post conditions
  44315. The given entry will be removed.  The memory allocated for the value
  44316. will be disposed of.
  44317.  
  44318. æKY ODValueNameSpace::WriteToFile
  44319. ValueNameSpace::WriteToFile
  44320. ValueNameSpace->WriteToFile
  44321. æT Class Method
  44322. æD void WriteToFile(
  44323. PlatformFile file);
  44324.  
  44325. æC Protection
  44326.     Public.  
  44327.  
  44328. Override policy
  44329.     Derived class cannot override.
  44330.     Derived class cannot call base class behavior, during derived class behavior.
  44331.  
  44332. Basic operation
  44333. Write the name space out as a stream to the file. This stream may be
  44334. read back in by ReadFromFile.
  44335.  
  44336. Inputs
  44337. file
  44338.     The file to which to write the data.
  44339.  
  44340. Outputs
  44341. None.
  44342.  
  44343. Exceptions Signalled
  44344. misc
  44345.     File system errors and/or storage errors.
  44346.  
  44347. Pre conditions
  44348. None.
  44349.  
  44350. Post conditions
  44351. Data will be written out to the given file.
  44352.  
  44353. æKY ODValueNameSpace::WriteToStorage
  44354. ValueNameSpace::WriteToStorage
  44355. ValueNameSpace->WriteToStorage
  44356. æT Class Method
  44357. æD void WriteToStorage(
  44358. ODStorageUnitView* view);
  44359.  
  44360. æC Protection
  44361.     Public.  
  44362.  
  44363. Override policy
  44364.     Derived class cannot override.
  44365.     Derived class cannot call base class behavior, during derived class behavior.
  44366.  
  44367. Basic operation
  44368. Write the name space out as a stream to the storage unit view. This
  44369. stream may be read back in by ReadFromStorage.
  44370.  
  44371. Inputs
  44372. view
  44373.     The storage unit to which to write the data.
  44374.  
  44375. Outputs
  44376. None.
  44377.  
  44378. Exceptions Signalled
  44379. misc
  44380.     File system errors and/or storage errors.
  44381.  
  44382. Pre conditions
  44383. None.
  44384.  
  44385. Post conditions
  44386. Data will be written out to storage.
  44387.  
  44388.  
  44389. æKY ODWindowHelp
  44390. ODWindow
  44391. Window
  44392. æKL ODWindow::ODWindow
  44393. ODWindow::~ODWindow
  44394. ODWindow::Activate
  44395. ODWindow::AdjustWindowShape
  44396. ODWindow::Close
  44397. ODWindow::CloseAndRemove
  44398. ODWindow::Deactivate
  44399. ODWindow::GetFacetUnderPoint
  44400. ODWindow::GetID
  44401. ODWindow::GetPlatformWindow
  44402. ODWindow::GetRootFacet
  44403. ODWindow::GetRootFrame
  44404. ODWindow::GetSourceFrame
  44405. ODWindow::Hide
  44406. ODWindow::InitWindow
  44407. ODWindow::InitWindowFromStorage
  44408. ODWindow::IsActive
  44409. ODWindow::IsFloating
  44410. ODWindow::IsResizable
  44411. ODWindow::IsRootWindow
  44412. ODWindow::IsShown
  44413. ODWindow::Open
  44414. ODWindow::Purge
  44415. ODWindow::Select
  44416. ODWindow::SetShouldDispose
  44417. ODWindow::SetShouldSave
  44418. ODWindow::SetShouldShowLinks
  44419. ODWindow::SetSourceFrame
  44420. ODWindow::ShouldDispose
  44421. ODWindow::ShouldSave
  44422. ODWindow::ShouldShowLinks
  44423. ODWindow::Show
  44424. ODWindow::Update
  44425. ODWindow::fArbitrator;
  44426. ODWindow::fDraft
  44427. ODWindow::fID
  44428. ODWindow::fIsAOCEMailerAware
  44429. ODWindow::fIsFloating
  44430. ODWindow::fIsResizable
  44431. ODWindow::fIsRootWindow
  44432. ODWindow::fMailerHelper
  44433. ODWindow::fPlatformWindow
  44434. ODWindow::fRootFacet
  44435. ODWindow::fRootFrame
  44436. ODWindow::fRootPart
  44437. ODWindow::fSession
  44438. ODWindow::fShouldSave
  44439. ODWindow::fShouldShowLinks
  44440. ODWindow::fSourceFrame
  44441. ODWindow::fStorageUnit
  44442. ODWindow::fWasVisible
  44443. æC Basic Class Documentation
  44444. ODWindow is a subclass of ODRefCntObject.
  44445. Related classes are ODWindowState and ODWindowIterator , ODFrame and
  44446. ODFacet.
  44447. ODWindow is platform-specific. 
  44448.  
  44449. Theory of Operation
  44450. Every window must be associated with an OpenDoc ODWindow object so
  44451. that the part belonging to the root frame of the window, and embedded
  44452. parts, can receive events from the OpenDoc event dispatcher.
  44453. Each ODWindow contains a pointer to a platform-specific window
  44454. structure. The facilites of the platform are used to actually create
  44455. new windows. These are added to the window state using
  44456. ODWindowState::CreateWindow() which creates and returns an ODWindow
  44457. instance. Part editors can send messages to these ODWindow instances,
  44458. and obtain the platform window to make platform-specific calls. Each
  44459. window has a root Frame and a root Facet. 
  44460.  
  44461. Invariants Maintained by Class
  44462. An ODWindow contains a reference to a platform-specific window. 
  44463. An ODWindow always has a root frame and facet. 
  44464. Various other properties, such as the window type (whether it has a
  44465. close box etc.) are invariant.
  44466.  
  44467. Other Persistent Properties
  44468. kODPropWindowRect
  44469. kODPropWindowTitle
  44470. kODPropWindowProcID
  44471. kODPropWindowIsVisible
  44472. kODPropWindowHasCloseBox
  44473. kODPropWindowHasZoomBox
  44474. kODPropWindowIsResizable
  44475. kODPropWindowIsRootWindow
  44476. kODPropWindowIsFloating
  44477. kODPropWindowHasMailer
  44478. kODPropWindowIsMailerAware
  44479. kODPropWindowRefCon
  44480. kODPropRootFrame
  44481. kODPropSourceFrame
  44482. kODPropShouldShowLinks
  44483. æKY ODWindow::ODWindow
  44484. Window::ODWindow
  44485. Window->ODWindow
  44486. æT Class Method
  44487. æD ODWindow();
  44488.  
  44489. æC Protection
  44490.     Public.  Private to UI subsystem. Part editors call
  44491. ODWindowState::CreateWindow().
  44492.  
  44493. Override policy
  44494.     Derived class cannot override.
  44495.     Derived class cannot call base class behavior.
  44496.  
  44497. Basic operation
  44498. Constructs the window object. InitWindow must also be called.
  44499.  
  44500. Inputs
  44501. None.
  44502.  
  44503. Outputs
  44504. None.
  44505.  
  44506. Exceptions Signalled
  44507. None.
  44508.  
  44509. Pre conditions
  44510. None.
  44511.  
  44512. Post conditions
  44513. A constructed window object, which can be safely deleted, but can not
  44514. be used until InitWindow has been called.
  44515.  
  44516. æKY ODWindow::~ODWindow
  44517. Window::~ODWindow
  44518. Window->~ODWindow
  44519. æT Class Method
  44520. æD ~ODWindow();
  44521.  
  44522. æC Protection
  44523.     Public.  Part Editors call ODWindow::CloseAndRemove
  44524.  
  44525. Override policy
  44526.     Derived class cannot override.
  44527.     Derived class cannot call base class behavior.
  44528.  
  44529. Basic operation
  44530. Frees the memory used by this instance.
  44531.  
  44532. Inputs
  44533. None.
  44534.  
  44535. Outputs
  44536. None.
  44537.  
  44538. Exceptions Signalled
  44539. None.
  44540.  
  44541. Pre conditions
  44542. A valid initialized instance.
  44543.  
  44544. Post conditions
  44545. The memory used by this instance is freed, and the instance is no
  44546. longer usable.
  44547.  
  44548. æKY ODWindow::Activate
  44549. Window::Activate
  44550. Window->Activate
  44551. æT Class Method
  44552. æD void Activate();
  44553.  
  44554. æC Protection
  44555.     Public.  Private to UI subsystem.
  44556.  
  44557. Override policy
  44558.     Derived class can override.
  44559.     Derived class can call base class behavior, during derived class behavior.
  44560.  
  44561. Basic operation
  44562. Sends an activate event to all the running parts in this window.
  44563.  
  44564. Inputs
  44565. None.
  44566.  
  44567. Outputs
  44568. None.
  44569.  
  44570. Exceptions Signalled
  44571. None.
  44572.  
  44573. Pre conditions
  44574. A valid initialized instance.
  44575.  
  44576. Post conditions
  44577. All the parts currently running in the window have received activate
  44578. events.
  44579.  
  44580. æKY ODWindow::AdjustWindowShape
  44581. Window::AdjustWindowShape
  44582. Window->AdjustWindowShape
  44583. æT Class Method
  44584. æD void AdjustWindowShape();
  44585.  
  44586. æC Protection
  44587.     Public.  
  44588.  
  44589. Override policy
  44590.     Derived class can override.
  44591.     Derived class can call base class behavior.
  44592.  
  44593. Basic operation
  44594. Reshapes the root frame to match the window size. Should be called by
  44595. parts if they resize a window programmatically
  44596.  
  44597. Inputs
  44598. None.
  44599.  
  44600. Outputs
  44601. None.
  44602.  
  44603. Exceptions Signalled
  44604. None.
  44605.  
  44606. Pre conditions
  44607. A valid initialized instance.
  44608.  
  44609. Post conditions
  44610. The root frame matches the window shape.
  44611.  
  44612. æKY ODWindow::Close
  44613. Window::Close
  44614. Window->Close
  44615. æT Class Method
  44616. æD void Close();
  44617.  
  44618. æC Protection
  44619.     Public.  Called by the shell and window state. Parts typically call
  44620. CloseAndRemove. 
  44621.  
  44622. Override policy
  44623.     Derived class can override.
  44624.     Derived class can call base class behavior.
  44625.  
  44626. Basic operation
  44627. Closes this window. The window is hidden, removed from the window
  44628. state, and the root frame is closed. The facet hierarchy is deleted.
  44629.  
  44630. Inputs
  44631. None.
  44632.  
  44633. Outputs
  44634. None.
  44635.  
  44636. Exceptions Signalled
  44637. None.
  44638.  
  44639. Pre conditions
  44640. A valid initialized instance.
  44641.  
  44642. Post conditions
  44643. The window is closed, and no longer usable.
  44644.  
  44645. æKY ODWindow::CloseAndRemove
  44646. Window::CloseAndRemove
  44647. Window->CloseAndRemove
  44648. æT Class Method
  44649. æD void CloseAndRemove();
  44650.  
  44651. æC Protection
  44652.     Public.  Called by parts to remove auxiliary windows like palettes, which are
  44653. not stored persistently. 
  44654.  
  44655. Override policy
  44656.     Derived class can override.
  44657.     Derived class can call base class behavior.
  44658.  
  44659. Basic operation
  44660. Closes this window. The window is hidden, removed from the window
  44661. state, and the root frame is removed from the draft. The facet
  44662. hierarchy is deleted.
  44663.  
  44664. Inputs
  44665. None.
  44666.  
  44667. Outputs
  44668. None.
  44669.  
  44670. Exceptions Signalled
  44671. None.
  44672.  
  44673. Pre conditions
  44674. A valid initialized instance.
  44675.  
  44676. Post conditions
  44677. The window is closed, and no longer usable.
  44678.  
  44679. æKY ODWindow::Deactivate
  44680. Window::Deactivate
  44681. Window->Deactivate
  44682. æT Class Method
  44683. æD void Deactivate();
  44684.  
  44685. æC Protection
  44686.     Public.  Not called by parts.
  44687.  
  44688. Override policy
  44689.     Derived class can override.
  44690.     Derived class can call base class behavior.
  44691.  
  44692. Basic operation
  44693. Deactivates all the running parts in this window.
  44694.  
  44695. Inputs
  44696. None.
  44697.  
  44698. Outputs
  44699. None.
  44700.  
  44701. Exceptions Signalled
  44702. None.
  44703.  
  44704. Pre conditions
  44705. A valid initialized instance.
  44706.  
  44707. Post conditions
  44708. All the parts currently running in the window received deactivate
  44709. events.
  44710.  
  44711. æKY ODWindow::GetFacetUnderPoint
  44712. Window::GetFacetUnderPoint
  44713. Window->GetFacetUnderPoint
  44714. æT Class Method
  44715. æD ODFrame* GetFacetUnderPoint(
  44716. ODPoint aPoint);
  44717.  
  44718. æC Protection
  44719.     Public.  Part Editors typically won't  call this method.
  44720.  
  44721. Override policy
  44722.     Derived class can override.
  44723.     Derived class can call base class behavior, during derived class behavior.
  44724.  
  44725. Basic operation
  44726. Returns the facet under the given point. If several nested facets are
  44727. under the point, the innermost one is returned. If multiple
  44728. overlapping frames are under the point, the unobscured(i.e. frontmost)
  44729. one is returned. The "frozen" and "selected" properties of frames and
  44730. facets are respected.
  44731.  
  44732. Inputs
  44733. aPoint
  44734.     A point in window coordinates.
  44735.  
  44736. Outputs
  44737. <return>
  44738.     The facet under the point.
  44739.  
  44740. Exceptions Signalled
  44741. None.
  44742.  
  44743. Pre conditions
  44744. A valid initialized instance.
  44745.  
  44746. Post conditions
  44747. No effect on this instance.
  44748.  
  44749. æKY ODWindow::GetID
  44750. Window::GetID
  44751. Window->GetID
  44752. æT Class Method
  44753. æD ODID GetID();
  44754.  
  44755. æC Protection
  44756.     Public.  
  44757.  
  44758. Override policy
  44759.     Derived class can override.
  44760.     Derived class can call base class behavior, during derived class behavior.
  44761.  
  44762. Basic operation
  44763. Returns the ID of the window. The WindowState creates IDs for windows.
  44764. A window pointer can be obtained by calling ODWindowState::getWindow.
  44765. In this way, parts can detect that a window has been destroyed.
  44766.  
  44767. Inputs
  44768. None.
  44769.  
  44770. Outputs
  44771. <return>
  44772.     The ID of this window.
  44773.  
  44774. Exceptions Signalled
  44775. None.
  44776.  
  44777. Pre conditions
  44778. A valid initialized instance.
  44779.  
  44780. Post conditions
  44781. No effect on this instance.
  44782.  
  44783. æKY ODWindow::GetPlatformWindow
  44784. Window::GetPlatformWindow
  44785. Window->GetPlatformWindow
  44786. æT Class Method
  44787. æD ODPlatformWindow GetPlatformWindow();
  44788.  
  44789. æC Protection
  44790.     Public.  
  44791.  
  44792. Override policy
  44793.     Derived class can override.
  44794.     Derived class can call base class behavior, during derived class behavior.
  44795.  
  44796. Basic operation
  44797. Returns the platform-specific window data structure
  44798.  
  44799. Inputs
  44800. None.
  44801.  
  44802. Outputs
  44803. <return>
  44804.     The platform-specific window stored in fPlatformWindow.
  44805.  
  44806. Exceptions Signalled
  44807. None.
  44808.  
  44809. Pre conditions
  44810. A valid initialized instance.
  44811.  
  44812. Post conditions
  44813. No effect on this instance.
  44814.  
  44815. æKY ODWindow::GetRootFacet
  44816. Window::GetRootFacet
  44817. Window->GetRootFacet
  44818. æT Class Method
  44819. æD ODFacet* GetRootFacet();
  44820.  
  44821. æC Protection
  44822.     Public.  
  44823.  
  44824. Override policy
  44825.     Derived class can override.
  44826.     Derived class can call base class behavior, during derived class behavior.
  44827.  
  44828. Basic operation
  44829. Returns the root facet of the window. The root facet is created when
  44830. the window is Open()ed, even though it may not yet be shown.
  44831.  
  44832. Inputs
  44833. None.
  44834.  
  44835. Outputs
  44836. <return>
  44837.     The root facet of the window.
  44838.  
  44839. Exceptions Signalled
  44840. None.
  44841.  
  44842. Pre conditions
  44843. A valid initialized window instance, whose Open() method has been
  44844. called.
  44845.  
  44846. Post conditions
  44847. No effect on this instance.
  44848.  
  44849. æKY ODWindow::GetRootFrame
  44850. Window::GetRootFrame
  44851. Window->GetRootFrame
  44852. æT Class Method
  44853. æD ODFrame* GetRootFrame();
  44854.  
  44855. æC Protection
  44856.     Public.  
  44857.  
  44858. Override policy
  44859.     Derived class can override.
  44860.     Derived class can call base class behavior, during derived class behavior.
  44861.  
  44862. Basic operation
  44863. Returns the root frame of the window.
  44864.  
  44865. Inputs
  44866. None.
  44867.  
  44868. Outputs
  44869. <return>
  44870.     The root frame of the window.
  44871.  
  44872. Exceptions Signalled
  44873. None.
  44874.  
  44875. Pre conditions
  44876. A valid initialized instance.
  44877.  
  44878. Post conditions
  44879. No effect on this instance.
  44880.  
  44881. æKY ODWindow::GetSourceFrame
  44882. Window::GetSourceFrame
  44883. Window->GetSourceFrame
  44884. æT Class Method
  44885. æD ODFrame* GetSourceFrame();
  44886.  
  44887. æC Protection
  44888.     Public.  
  44889.  
  44890. Override policy
  44891.     Derived class can override.
  44892.     Derived class can call base class behavior, during derived class behavior.
  44893.  
  44894. Basic operation
  44895. Returns the frame from which this window was opened. May be kODNULL.
  44896.  
  44897. Inputs
  44898. None.
  44899.  
  44900. Outputs
  44901. <return>
  44902.     The frame from which this window was opened, or kODNULL
  44903.  
  44904. Exceptions Signalled
  44905. None.
  44906.  
  44907. Pre conditions
  44908. A valid initialized instance.
  44909.  
  44910. Post conditions
  44911. No effect on this instance.
  44912.  
  44913. æKY ODWindow::Hide
  44914. Window::Hide
  44915. Window->Hide
  44916. æT Class Method
  44917. æD void Hide();
  44918.  
  44919. æC Protection
  44920.     Public.  
  44921.  
  44922. Override policy
  44923.     Derived class can override.
  44924.     Derived class can call base class behavior.
  44925.  
  44926. Basic operation
  44927. Makes the window invisible.
  44928.  
  44929. Inputs
  44930. None.
  44931.  
  44932. Outputs
  44933. None.
  44934.  
  44935. Exceptions Signalled
  44936. None.
  44937.  
  44938. Pre conditions
  44939. A valid initialized instance.
  44940.  
  44941. Post conditions
  44942. The window is hidden.
  44943.  
  44944. æKY ODWindow::InitWindow
  44945. Window::InitWindow
  44946. Window->InitWindow
  44947. æT Class Method
  44948. æD InitWindow(
  44949. ODPlatformWindow platformWindow,
  44950. ODType frameType,
  44951. ODBoolean isRootWindow,
  44952. ODBoolean isResizable,
  44953. ODBoolean isFloating,
  44954. ODBoolean shouldSave,
  44955. ODPart* rootPart,
  44956. ODTypeToken viewType,
  44957. ODTypeToken presentation,
  44958. ODFrame* sourceFrame);
  44959.  
  44960. æC Protection
  44961.     Public.  Private to UI subsystem. Part editors call
  44962. ODWindowState::CreateWindow().
  44963.  
  44964. Override policy
  44965.     Derived class cannot override.
  44966.     Derived class cannot call base class behavior.
  44967.  
  44968. Basic operation
  44969. Initializes the window object. Stores the supplied attributes, and
  44970. creates a root frame. The Open() method must still be called.
  44971.  
  44972. Inputs
  44973. platformWindow
  44974.     A pointer to a platform-specific window structure
  44975. isRootWindow
  44976.     Does this window "keep the document open". kODFalse for dialog and
  44977. other auxiliary windows.
  44978. isResizable
  44979.     kODTrue, if the window is resizable by the user.
  44980. isFloating
  44981.     kODTrue if the window shouldalways float above others.
  44982. shouldSave
  44983.     kODTrue if the window state should save this window persistently in
  44984. the document. 
  44985. rootPart
  44986.     The part associated with the root frame of the window.
  44987. viewType
  44988.     The view type for the root frame of the window. See ODFrame.
  44989. presentation
  44990.     The presentation type for the root frame. See ODFrame.
  44991. sourceFrame
  44992.     The frame from which this window  was opened. Can be kODNull.
  44993. frameType
  44994.     The type which should be used to create the root frame of the window.
  44995.  
  44996. Outputs
  44997. None
  44998.  
  44999. Exceptions Signalled
  45000. None.
  45001.     Constructors must not fail.
  45002.  
  45003. Pre conditions
  45004. A constructed instance.
  45005.  
  45006. Post conditions
  45007. An initialized instance. Open() must still be called.
  45008.  
  45009. æKY ODWindow::InitWindowFromStorage
  45010. Window::InitWindowFromStorage
  45011. Window->InitWindowFromStorage
  45012. æT Class Method
  45013. æD InitWindowFromStorage(
  45014. ODStorageUnit* su);
  45015.  
  45016. æC Protection
  45017.     Public.  Private to UI subsystem. Part editors call
  45018. ODWindowState::CreateWindow(), and the WindowState creates windows
  45019. when documents are opened.
  45020.  
  45021. Override policy
  45022.     Derived class cannot override.
  45023.     Derived class cannot call base class behavior.
  45024.  
  45025. Basic operation
  45026. Initializes the window object from a storage unit.
  45027.  
  45028. Inputs
  45029. su
  45030.     A storage unit supplied by the window state.
  45031.  
  45032. Outputs
  45033. None.
  45034.  
  45035. Exceptions Signalled
  45036. None.
  45037.  
  45038. Pre conditions
  45039. A constructed instance.
  45040.  
  45041. Post conditions
  45042. An initialized instance. Open() must still be called.
  45043.  
  45044. æKY ODWindow::IsActive
  45045. Window::IsActive
  45046. Window->IsActive
  45047. æT Class Method
  45048. æD ODBoolean IsActive();
  45049.  
  45050. æC Protection
  45051.     Public.  
  45052.  
  45053. Override policy
  45054.     Derived class can override.
  45055.     Derived class can call base class behavior, during derived class behavior.
  45056.  
  45057. Basic operation
  45058. Returns kODTrue if this window is a floating window, or the frontmost
  45059. non-floating window.
  45060.  
  45061. Inputs
  45062. None.
  45063.  
  45064. Outputs
  45065. <return>
  45066.     kODTrue, if this is an active window.
  45067.  
  45068. Exceptions Signalled
  45069. None.
  45070.  
  45071. Pre conditions
  45072. A valid initialized instance.
  45073.  
  45074. Post conditions
  45075. No effect on this instance.
  45076.  
  45077. æKY ODWindow::IsFloating
  45078. Window::IsFloating
  45079. Window->IsFloating
  45080. æT Class Method
  45081. æD ODBoolean IsFloating();
  45082.  
  45083. æC Protection
  45084.     Public.  
  45085.  
  45086. Override policy
  45087.     Derived class can override.
  45088.     Derived class can call base class behavior.
  45089.  
  45090. Basic operation
  45091. Returns kODTrue if the window is a floating window, kODFalse
  45092. otherwise.
  45093.  
  45094. Inputs
  45095. None.
  45096.  
  45097. Outputs
  45098. <return>
  45099.      kODTrue if the window is a floating window, kODFalse otherwise
  45100.  
  45101. Exceptions Signalled
  45102. None.
  45103.  
  45104. Pre conditions
  45105. A valid initialized instance.
  45106.  
  45107. Post conditions
  45108. No effect on this instance.
  45109.  
  45110. æKY ODWindow::IsResizable
  45111. Window::IsResizable
  45112. Window->IsResizable
  45113. æT Class Method
  45114. æD ODBoolean IsResizable();
  45115.  
  45116. æC Protection
  45117.     Public.  
  45118.  
  45119. Override policy
  45120.     Derived class can override.
  45121.     Derived class can call base class behavior.
  45122.  
  45123. Basic operation
  45124. Returns kODTrue if the window is resizable by users, kODFalse
  45125. otherwise.
  45126.  
  45127. Inputs
  45128. None.
  45129.  
  45130. Outputs
  45131. <return>
  45132.      kODTrue if the window is resizable, kODFalse otherwise
  45133.  
  45134. Exceptions Signalled
  45135. None.
  45136.  
  45137. Pre conditions
  45138. A valid initialized instance.
  45139.  
  45140. Post conditions
  45141. No effect on this instance.
  45142.  
  45143. æKY ODWindow::IsRootWindow
  45144. Window::IsRootWindow
  45145. Window->IsRootWindow
  45146. æT Class Method
  45147. æD ODBoolean IsRootWindow();
  45148.  
  45149. æC Protection
  45150.     Public.  
  45151.  
  45152. Override policy
  45153.     Derived class can override.
  45154.     Derived class can call base class behavior.
  45155.  
  45156. Basic operation
  45157. Returns kODTrue if the window is a root window, kODFalse otherwise.
  45158.  
  45159. Inputs
  45160. None.
  45161.  
  45162. Outputs
  45163. <return>
  45164.      kODTrue if the window is a root window, kODFalse otherwise
  45165.  
  45166. Exceptions Signalled
  45167. None.
  45168.  
  45169. Pre conditions
  45170. A valid initialized instance.
  45171.  
  45172. Post conditions
  45173. No effect on this instance.
  45174.  
  45175. æKY ODWindow::IsShown
  45176. Window::IsShown
  45177. Window->IsShown
  45178. æT Class Method
  45179. æD ODBoolean IsShown();
  45180.  
  45181. æC Protection
  45182.     Public.  
  45183.  
  45184. Override policy
  45185.     Derived class can override.
  45186.     Derived class can call base class behavior.
  45187.  
  45188. Basic operation
  45189. Returns kODTrue if the window is currently shown, kODFalse otherwise.
  45190.  
  45191. Inputs
  45192. None.
  45193.  
  45194. Outputs
  45195. <return>
  45196.      kODTrue if the window is currently shown, kODFalse otherwise
  45197.  
  45198. Exceptions Signalled
  45199. None.
  45200.  
  45201. Pre conditions
  45202. A valid initialized instance.
  45203.  
  45204. Post conditions
  45205. No effect on this instance.
  45206.  
  45207. æKY ODWindow::Open
  45208. Window::Open
  45209. Window->Open
  45210. æT Class Method
  45211. æD void Open();
  45212.  
  45213. æC Protection
  45214.     Public.  
  45215.  
  45216. Override policy
  45217.     Derived class can override.
  45218.     Derived class can call base class behavior, during derived class behavior.
  45219.  
  45220. Basic operation
  45221. Creates a facet hierarchy in this window. Does not make the window 
  45222. visible or change window ordering. Show() and Select() must be called
  45223. for those operations.
  45224.  
  45225. Inputs
  45226. None.
  45227.  
  45228. Outputs
  45229. None.
  45230.  
  45231. Exceptions Signalled
  45232. None.
  45233.  
  45234. Pre conditions
  45235. A valid initialized instance.
  45236.  
  45237. Post conditions
  45238. The window and facet structure is build, and the window can be shown
  45239. using Show().
  45240.  
  45241. æKY ODWindow::Purge
  45242. Window::Purge
  45243. Window->Purge
  45244. æT Class Method
  45245. æD ODSize Purge(
  45246. ODSize size);
  45247.  
  45248. æC Protection
  45249.     Public.  Called by OpenDoc.
  45250.  
  45251. Override policy
  45252.     Derived class can override.
  45253.     Derived class can call base class behavior, during derived class behavior.
  45254.  
  45255. Basic operation
  45256. Frees up some memory, by deleting cached values which can be
  45257. recomputed or restored from persistent storage.
  45258.  
  45259. Inputs
  45260. size
  45261.     The amount of memory requested.
  45262.  
  45263. Outputs
  45264. <return>
  45265.     The amount of memory freed.
  45266.  
  45267. Exceptions Signalled
  45268. None.
  45269.  
  45270. Pre conditions
  45271. A valid initialized instance.
  45272.  
  45273. Post conditions
  45274. Some memory has been freed up.
  45275.  
  45276. æKY ODWindow::Select
  45277. Window::Select
  45278. Window->Select
  45279. æT Class Method
  45280. æD void Select();
  45281.  
  45282. æC Protection
  45283.     Public.  
  45284.  
  45285. Override policy
  45286.     Derived class can override.
  45287.     Derived class can call base class behavior.
  45288.  
  45289. Basic operation
  45290. Brings the window to the front,  making it an active window.
  45291.  
  45292. Inputs
  45293. None.
  45294.  
  45295. Outputs
  45296. None.
  45297.  
  45298. Exceptions Signalled
  45299. None.
  45300.  
  45301. Pre conditions
  45302. A valid initialized instance.
  45303.  
  45304. Post conditions
  45305. The window is frontmost (except for floating windows), and active.
  45306.  
  45307. æKY ODWindow::SetShouldDispose
  45308. Window::SetShouldDispose
  45309. Window->SetShouldDispose
  45310. æT Class Method
  45311. æD void SetShouldDispose(
  45312. ODBoolean shouldDispose);
  45313.  
  45314. æC Protection
  45315.     Public.  
  45316.  
  45317. Override policy
  45318.     Derived class can override.
  45319.     Derived class can call base class behavior, during derived class behavior.
  45320.  
  45321. Basic operation
  45322. Changes the value of the "shouldDispose" property, which determined if
  45323. the platform window is disposed when the window is deleted.
  45324.  
  45325. Inputs
  45326. shouldDispose
  45327.     kODTrue if the platform window should be disposed when the window is
  45328. deleted.
  45329.  
  45330. Outputs
  45331. None.
  45332.  
  45333. Exceptions Signalled
  45334. None.
  45335.  
  45336. Pre conditions
  45337. A valid initialized instance.
  45338.  
  45339. Post conditions
  45340. fShouldDispose is updated.
  45341.  
  45342. æKY ODWindow::SetShouldSave
  45343. Window::SetShouldSave
  45344. Window->SetShouldSave
  45345. æT Class Method
  45346. æD void SetShouldSave(
  45347. ODBoolean shouldSave);
  45348.  
  45349. æC Protection
  45350.     Public.  
  45351.  
  45352. Override policy
  45353.     Derived class can override.
  45354.     Derived class can call base class behavior.
  45355.  
  45356. Basic operation
  45357. Changes the value of the "shouldSave" property
  45358.  
  45359. Inputs
  45360. shouldSave
  45361.     kODTrue if the window should be saved in the draft.
  45362.  
  45363. Outputs
  45364. None.
  45365.  
  45366. Exceptions Signalled
  45367. None.
  45368.  
  45369. Pre conditions
  45370. A valid initialized instance.
  45371.  
  45372. Post conditions
  45373. fShouldSave is updated.
  45374.  
  45375. æKY ODWindow::SetShouldShowLinks
  45376. Window::SetShouldShowLinks
  45377. Window->SetShouldShowLinks
  45378. æT Class Method
  45379. æD void SetShouldShowLinks(
  45380. ODBoolean shouldShowLinks);
  45381.  
  45382. æC Protection
  45383.     Public.  
  45384.  
  45385. Override policy
  45386.     Derived class can override.
  45387.     Derived class can call base class behavior.
  45388.  
  45389. Basic operation
  45390. Changes the value of the "shouldShowLinks" property
  45391.  
  45392. Inputs
  45393. shouldShowLinks
  45394.     kODTrue if links should be shown, kODFalse otherwise.
  45395.  
  45396. Outputs
  45397. None.
  45398.  
  45399. Exceptions Signalled
  45400. None.
  45401.  
  45402. Pre conditions
  45403. A valid initialized instance.
  45404.  
  45405. Post conditions
  45406. fShouldShowLinks is updated.
  45407.  
  45408. æKY ODWindow::SetSourceFrame
  45409. Window::SetSourceFrame
  45410. Window->SetSourceFrame
  45411. æT Class Method
  45412. æD void SetSourceFrame(
  45413. in ODFrame frame);
  45414.  
  45415. æC Protection
  45416.     Public.  
  45417.  
  45418. Override policy
  45419.     Derived class can override.
  45420.     Derived class can call base class behavior, during derived class behavior.
  45421.  
  45422. Basic operation
  45423. Sets the source frame of this window.  Can be used (somewhat rarely)
  45424. to associate a window  with a different source frame than the one it
  45425. was created from.
  45426.  
  45427. Inputs
  45428. frame
  45429.     The new source frame
  45430.  
  45431. Outputs
  45432. None.
  45433.  
  45434. Exceptions Signalled
  45435. None.
  45436.  
  45437. Pre conditions
  45438. A valid initialized instance.
  45439.  
  45440. Post conditions
  45441. Internal reference to source frame is updated
  45442.  
  45443. æKY ODWindow::ShouldDispose
  45444. Window::ShouldDispose
  45445. Window->ShouldDispose
  45446. æT Class Method
  45447. æD ODBoolean ShouldDispose();
  45448.  
  45449. æC Protection
  45450.     Public.  
  45451.  
  45452. Override policy
  45453.     Derived class cannot override.
  45454.     Derived class cannot call base class behavior.
  45455.  
  45456. Basic operation
  45457. Returns kODTrue if the platform window should be disposed when the
  45458. window is deleted.
  45459.  
  45460. Inputs
  45461. None.
  45462.  
  45463. Outputs
  45464. <return>
  45465.      kODTrue if the platform window will be disposed when the window is
  45466. deleted.
  45467.  
  45468. Exceptions Signalled
  45469. None.
  45470.  
  45471. Pre conditions
  45472. A valid initialized instance.
  45473.  
  45474. Post conditions
  45475. No effect on this instance.
  45476.  
  45477. æKY ODWindow::ShouldSave
  45478. Window::ShouldSave
  45479. Window->ShouldSave
  45480. æT Class Method
  45481. æD ODBoolean ShouldSave();
  45482.  
  45483. æC Protection
  45484.     Public.  
  45485.  
  45486. Override policy
  45487.     Derived class can override.
  45488.     Derived class can call base class behavior.
  45489.  
  45490. Basic operation
  45491. Returns kODTrue if the window is saved in the draft, kODFalse
  45492. otherwise.
  45493.  
  45494. Inputs
  45495. None.
  45496.  
  45497. Outputs
  45498. <return>
  45499.      kODTrue if the window is saved in the draft, kODFalse otherwise
  45500.  
  45501. Exceptions Signalled
  45502. None.
  45503.  
  45504. Pre conditions
  45505. A valid initialized instance.
  45506.  
  45507. Post conditions
  45508. No effect on this instance.
  45509.  
  45510. æKY ODWindow::ShouldShowLinks
  45511. Window::ShouldShowLinks
  45512. Window->ShouldShowLinks
  45513. æT Class Method
  45514. æD ODBoolean ShouldShowLinks();
  45515.  
  45516. æC Protection
  45517.     Public.  
  45518.  
  45519. Override policy
  45520.     Derived class can override.
  45521.     Derived class can call base class behavior.
  45522.  
  45523. Basic operation
  45524. Returns kODTrue if the user has requested that links be highlighted in
  45525. the window.
  45526.  
  45527. Inputs
  45528. None.
  45529.  
  45530. Outputs
  45531. <return>
  45532.      kODTrue if links should be shown, kODFalse otherwise
  45533.  
  45534. Exceptions Signalled
  45535. None.
  45536.  
  45537. Pre conditions
  45538. A valid initialized instance.
  45539.  
  45540. Post conditions
  45541. No effect on this instance.
  45542.  
  45543. æKY ODWindow::Show
  45544. Window::Show
  45545. Window->Show
  45546. æT Class Method
  45547. æD void Show();
  45548.  
  45549. æC Protection
  45550.     Public.  
  45551.  
  45552. Override policy
  45553.     Derived class can override.
  45554.     Derived class can call base class behavior.
  45555.  
  45556. Basic operation
  45557. Makes the window visible. Does not change the ordering of windows.
  45558.  
  45559. Inputs
  45560. None.
  45561.  
  45562. Outputs
  45563. None.
  45564.  
  45565. Exceptions Signalled
  45566. None.
  45567.  
  45568. Pre conditions
  45569. A valid initialized instance.
  45570.  
  45571. Post conditions
  45572. The window is visible.
  45573.  
  45574. æKY ODWindow::Update
  45575. Window::Update
  45576. Window->Update
  45577. æT Class Method
  45578. æD void Update();
  45579.  
  45580. æC Protection
  45581.     Public.  Called by the Dispatcher, or by parts.
  45582.  
  45583. Override policy
  45584.     Derived class can override.
  45585.     Derived class can call base class behavior.
  45586.  
  45587. Basic operation
  45588. Parts can call this method to force updating when it won't happen
  45589. automatically, for instance when the mouse button is down.
  45590.  
  45591. Inputs
  45592. None.
  45593.  
  45594. Outputs
  45595. None.
  45596.  
  45597. Exceptions Signalled
  45598. None.
  45599.  
  45600. Pre conditions
  45601. None.
  45602.  
  45603. Post conditions
  45604. None.
  45605.  
  45606. æKY ODWindow::fArbitrator;
  45607. Window::fArbitrator;
  45608. æT Class Field
  45609. æD ODArbitrator fArbitrator;
  45610. æC 
  45611. æKY ODWindow::fDraft
  45612. Window::fDraft
  45613. æT Class Field
  45614. æD ODDraft* fDraft;
  45615. æC 
  45616. æKY ODWindow::fID
  45617. Window::fID
  45618. æT Class Field
  45619. æD ODID fID;
  45620. æC 
  45621. æKY ODWindow::fIsAOCEMailerAware
  45622. Window::fIsAOCEMailerAware
  45623. æT Class Field
  45624. æD ODBoolean fIsAOCEMailerAware;
  45625. æC 
  45626. æKY ODWindow::fIsFloating
  45627. Window::fIsFloating
  45628. æT Class Field
  45629. æD ODBoolean fIsFloating;
  45630. æC 
  45631. æKY ODWindow::fIsResizable
  45632. Window::fIsResizable
  45633. æT Class Field
  45634. æD ODBoolean fIsResizable;
  45635. æC 
  45636. æKY ODWindow::fIsRootWindow
  45637. Window::fIsRootWindow
  45638. æT Class Field
  45639. æD ODBoolean fIsRootWindow;
  45640. æC 
  45641. æKY ODWindow::fMailerHelper
  45642. Window::fMailerHelper
  45643. æT Class Field
  45644. æD AOCEObje* fMailerHelper;
  45645. æC 
  45646. æKY ODWindow::fPlatformWindow
  45647. Window::fPlatformWindow
  45648. æT Class Field
  45649. æD ODPlatformWindow fPlatformWindow;
  45650. æC 
  45651. æKY ODWindow::fRootFacet
  45652. Window::fRootFacet
  45653. æT Class Field
  45654. æD ODFacet* fRootFacet
  45655. æC 
  45656. æKY ODWindow::fRootFrame
  45657. Window::fRootFrame
  45658. æT Class Field
  45659. æD ODFrame* fRootFrame;
  45660. æC 
  45661. æKY ODWindow::fRootPart
  45662. Window::fRootPart
  45663. æT Class Field
  45664. æD ODPart* fRootPart;
  45665. æC 
  45666. æKY ODWindow::fSession
  45667. Window::fSession
  45668. æT Class Field
  45669. æD ODSession* fSession;
  45670. æC 
  45671. æKY ODWindow::fShouldSave
  45672. Window::fShouldSave
  45673. æT Class Field
  45674. æD ODBoolean fShouldSave;
  45675. æC 
  45676. æKY ODWindow::fShouldShowLinks
  45677. Window::fShouldShowLinks
  45678. æT Class Field
  45679. æD ODBoolean fShouldShowLinks;
  45680. æC 
  45681. æKY ODWindow::fSourceFrame
  45682. Window::fSourceFrame
  45683. æT Class Field
  45684. æD ODFrame* fSourceFrame;
  45685. æC 
  45686. æKY ODWindow::fStorageUnit
  45687. Window::fStorageUnit
  45688. æT Class Field
  45689. æD ODStorageUnit* fStorageUnit;
  45690. æC 
  45691. æKY ODWindow::fWasVisible
  45692. Window::fWasVisible
  45693. æT Class Field
  45694. æD ODBoolean fWasVisible;
  45695. æC 
  45696.  
  45697. æKY ODWindowIteratorHelp
  45698. ODWindowIterator
  45699. WindowIterator
  45700. æKL ODWindowIterator::ODWindowIterator
  45701. ODWindowIterator::~ODWindowIterator
  45702. ODWindowIterator::First
  45703. ODWindowIterator::InitWindowIterator
  45704. ODWindowIterator::IsNotComplete
  45705. ODWindowIterator::Last
  45706. ODWindowIterator::Next
  45707. ODWindowIterator::Previous
  45708. ODWindowIterator::fIterator
  45709. ODWindowIterator::fWindowState
  45710. æC Basic Class Documentation
  45711. ODWindowIterator is a companion class of ODWindowState ,  used to
  45712. iterate over the windows in the window state.
  45713. ODWindowIterator has no base class.
  45714. Related classes are ODWindowState and ODWindow.
  45715. ODWindowIterator is platform-independent.
  45716.  
  45717. Theory of Operation
  45718. ODWindowIterator is a companion class of ODWindowState ,  used to
  45719. iterate over the windows in the window state. 
  45720. Given the window state, ODWindowIterator allows the developer to
  45721. iterate over all the windows in a loop, using the iterator's First(),
  45722. Next() and IsNotComplete() methods. 
  45723. Note that the window list in the window state is ordered by creation
  45724. time, not by screen ordering. 
  45725.  
  45726. Invariants Maintained by Class
  45727. ODWindowIterator maintains a reference to the window state, and to the
  45728. current window (or to a lower-level iterator).
  45729. æKY ODWindowIterator::ODWindowIterator
  45730. WindowIterator::ODWindowIterator
  45731. WindowIterator->ODWindowIterator
  45732. æT Class Method
  45733. æD ODWindowIterator();
  45734.  
  45735. æC Protection
  45736.     Public.  Parts should call ODWindowState::CreateWindowIterator()
  45737.  
  45738. Override policy
  45739.     Derived class cannot override.
  45740.     Derived class cannot call base class behavior, during derived class behavior.
  45741.  
  45742. Basic operation
  45743. Constructs the iterator. InitWindowIterator must also be called.
  45744.  
  45745. Inputs
  45746. None.
  45747.  
  45748. Outputs
  45749. None.
  45750.  
  45751. Exceptions Signalled
  45752. None.
  45753.  
  45754. Pre conditions
  45755. None.
  45756.  
  45757. Post conditions
  45758. A properly constructed window iterator. Can be deleted, but
  45759. InitWindowIterator must be called before use.
  45760.  
  45761. æKY ODWindowIterator::~ODWindowIterator
  45762. WindowIterator::~ODWindowIterator
  45763. WindowIterator->~ODWindowIterator
  45764. æT Class Method
  45765. æD ~ODWindowIterator();
  45766.  
  45767. æC Protection
  45768.     Public.  
  45769.  
  45770. Override policy
  45771.     Derived class cannot override.
  45772.     Derived class cannot call base class behavior, during derived class behavior.
  45773.  
  45774. Basic operation
  45775. Frees the memory allocated by this class.
  45776.  
  45777. Inputs
  45778. None.
  45779.  
  45780. Outputs
  45781. None.
  45782.  
  45783. Exceptions Signalled
  45784. None.
  45785.  
  45786. Pre conditions
  45787. A constructed instance.
  45788.  
  45789. Post conditions
  45790. The memory used by this instance is freed.
  45791.  
  45792. æKY ODWindowIterator::First
  45793. WindowIterator::First
  45794. WindowIterator->First
  45795. æT Class Method
  45796. æD ODWindow* First();
  45797.  
  45798. æC Protection
  45799.     Public.  
  45800.  
  45801. Override policy
  45802.     Derived class can override.
  45803.     Derived class can call base class behavior, during derived class behavior.
  45804.  
  45805. Basic operation
  45806. Returns the first window in the window state. Advance iteration with
  45807. Next().  Not related to front-to-back ordering of windows.
  45808.  
  45809. Inputs
  45810. None.
  45811.  
  45812. Outputs
  45813. <return>
  45814.     The first window in the window state
  45815.  
  45816. Exceptions Signalled
  45817. None.
  45818.  
  45819. Pre conditions
  45820. A valid initialized instance.
  45821.  
  45822. Post conditions
  45823. Current window is advanced.
  45824.  
  45825. æKY ODWindowIterator::InitWindowIterator
  45826. WindowIterator::InitWindowIterator
  45827. WindowIterator->InitWindowIterator
  45828. æT Class Method
  45829. æD InitWindowIterator(
  45830. ODWindowState* windowState);
  45831.  
  45832. æC Protection
  45833.     Public.  Parts call ODWindowState::CreateWindowIterator
  45834.  
  45835. Override policy
  45836.     Derived class can override.
  45837.     Derived class can call base class behavior, during derived class behavior.
  45838.  
  45839. Basic operation
  45840. Initializes the iterator.
  45841.  
  45842. Inputs
  45843. windowState
  45844.     The window state over which to iterate
  45845.  
  45846. Outputs
  45847. None.
  45848.  
  45849. Exceptions Signalled
  45850. kODErrInvalidWindowState
  45851.     The specified window state is not valid.
  45852.  
  45853. Pre conditions
  45854. A constructed instance.
  45855.  
  45856. Post conditions
  45857. A properly initialized  window iterator, ready for use.
  45858.  
  45859. æKY ODWindowIterator::IsNotComplete
  45860. WindowIterator::IsNotComplete
  45861. WindowIterator->IsNotComplete
  45862. æT Class Method
  45863. æD ODBoolean IsNotComplete();
  45864.  
  45865. æC Protection
  45866.     Public.  
  45867.  
  45868. Override policy
  45869.     Derived class can override.
  45870.     Derived class can call base class behavior, during derived class behavior.
  45871.  
  45872. Basic operation
  45873. Returns kODTrue if there are more windows to iterate over, kODFalse
  45874. otherwise.
  45875.  
  45876. Inputs
  45877. None.
  45878.  
  45879. Outputs
  45880. <return>
  45881.     kODTrue, if there are more windows to iterate over.
  45882.  
  45883. Exceptions Signalled
  45884. None.
  45885.  
  45886. Pre conditions
  45887. A valid initialized instance. First() or Last() has been called.
  45888.  
  45889. Post conditions
  45890. Result contains kODTrue if there are more windows to iterate over,
  45891. kODFalse otherwise.
  45892.  
  45893. æKY ODWindowIterator::Last
  45894. WindowIterator::Last
  45895. WindowIterator->Last
  45896. æT Class Method
  45897. æD ODWindow* Last();
  45898.  
  45899. æC Protection
  45900.     Public.  
  45901.  
  45902. Override policy
  45903.     Derived class can override.
  45904.     Derived class can call base class behavior, during derived class behavior.
  45905.  
  45906. Basic operation
  45907. Returns the last window in the window state. Advance iteration with
  45908. Previous().
  45909.  
  45910. Inputs
  45911. None.
  45912.  
  45913. Outputs
  45914. <return>
  45915.     The last window in the window state
  45916.  
  45917. Exceptions Signalled
  45918. None.
  45919.  
  45920. Pre conditions
  45921. A valid initialized instance.
  45922.  
  45923. Post conditions
  45924. Current window is advanced.
  45925.  
  45926. æKY ODWindowIterator::Next
  45927. WindowIterator::Next
  45928. WindowIterator->Next
  45929. æT Class Method
  45930. æD ODWindow* Next();
  45931.  
  45932. æC Protection
  45933.     Public.  
  45934.  
  45935. Override policy
  45936.     Derived class can override.
  45937.     Derived class can call base class behavior, during derived class behavior.
  45938.  
  45939. Basic operation
  45940. Returns the next window in the window state. Begin iteration with
  45941. First().
  45942.  
  45943. Inputs
  45944. None.
  45945.  
  45946. Outputs
  45947. <return>
  45948.     The next window in the window state
  45949.  
  45950. Exceptions Signalled
  45951. None.
  45952.  
  45953. Pre conditions
  45954. First() has been called.
  45955.  
  45956. Post conditions
  45957. Current window is advanced.
  45958.  
  45959. æKY ODWindowIterator::Previous
  45960. WindowIterator::Previous
  45961. WindowIterator->Previous
  45962. æT Class Method
  45963. æD ODWindow* Previous();
  45964.  
  45965. æC Protection
  45966.     Public.  
  45967.  
  45968. Override policy
  45969.     Derived class can override.
  45970.     Derived class can call base class behavior, during derived class behavior.
  45971.  
  45972. Basic operation
  45973. Returns the previous window in the window state. Begin iteration with
  45974. Last().
  45975.  
  45976. Inputs
  45977. None.
  45978.  
  45979. Outputs
  45980. <return>
  45981.     The previous window in the window state
  45982.  
  45983. Exceptions Signalled
  45984. None.
  45985.  
  45986. Pre conditions
  45987. A valid initialized instance.
  45988.  
  45989. Post conditions
  45990. Current window is advanced.
  45991.  
  45992. æKY ODWindowIterator::fIterator
  45993. WindowIterator::fIterator
  45994. æT Class Field
  45995. æD LinkedListIterator* fIterator;
  45996. æC 
  45997. æKY ODWindowIterator::fWindowState
  45998. WindowIterator::fWindowState
  45999. æT Class Field
  46000. æD ODWindowState* fWindowState;
  46001. æC 
  46002.  
  46003. æKY ODWindowStateHelp
  46004. ODWindowState
  46005. WindowState
  46006. æKL ODWindowState::ODWindowState
  46007. ODWindowState::~ODWindowState
  46008. ODWindowState::AcquireActiveWindow
  46009. ODWindowState::AcquireBaseMenuBar
  46010. ODWindowState::AcquireCurrentMenuBar
  46011. ODWindowState::AcquireFrontFloatingWindow
  46012. ODWindowState::AcquireFrontRootWindow
  46013. ODWindowState::AcquireFrontWindow
  46014. ODWindowState::AcquireODWindow
  46015. ODWindowState::AcquireWindow
  46016. ODWindowState::ActivateFrontWindows
  46017. ODWindowState::AdjustPartMenus
  46018. ODWindowState::CloseWindows
  46019. ODWindowState::CopyBaseMenuBar
  46020. ODWindowState::CreateCanvas
  46021. ODWindowState::CreateMenuBar
  46022. ODWindowState::CreateWindowIterator
  46023. ODWindowState::DeactivateFrontWindows
  46024. ODWindowState::Externalize
  46025. ODWindowState::GetRootWindowCount
  46026. ODWindowState::GetTotalRootWindowCount
  46027. ODWindowState::GetWindowCount
  46028. ODWindowState::InitWindowState
  46029. ODWindowState::Internalize
  46030. ODWindowState::IsODWindow
  46031. ODWindowState::OpenWindows
  46032. ODWindowState::Purge
  46033. ODWindowState::RegisterWindow
  46034. ODWindowState::RegisterWindowForFrame
  46035. ODWindowState::SetBaseMenuBar
  46036. ODWindowState::SetCurrentMenuBar
  46037. ODWindowState::SetDefaultWindowTitles
  46038. ODWindowState::fBaseMenuBar
  46039. ODWindowState::fCurrentMenuBar
  46040. ODWindowState::fNextID
  46041. ODWindowState::fSession
  46042. ODWindowState::fWindowList
  46043. æC Basic Class Documentation
  46044. ODWindowState  maintains a list of  windows, and some menu bar
  46045. information.
  46046.  Each OpenDoc process has access to a single ODWindowState object,
  46047. obtained from the ODSession object.
  46048. ODWindowState is a derived class of ODObject.
  46049. ODWindowState is implemented by platform vendors. Much of this class
  46050. is platform-independent, but it contains platform-specific menu
  46051. information, in addition to the window list.
  46052. Related classes are ODWindow and ODWindowIterator.
  46053. ODWindowState participates in the Part Activation and UI Events
  46054. protocols.
  46055.  
  46056. Theory of Operation
  46057. ODWindow State contains a list of windows for all open document drafts
  46058. in an OpenDoc session. The standard OpenDoc shell application  will
  46059. have one open document, but multiple drafts of that document may be
  46060. open. Traditional applications which have been modified to support
  46061. embedding may have multiple documents open.
  46062. The primary purpose of the window state is to assist in event
  46063. distribution.
  46064. The order of the windows in the list is insignificant.
  46065. The elements in the list of windows are instances of class ODWindow
  46066. which is also part of the OpenDoc API, so parts can call methods of
  46067. ODWindow directly.
  46068.  
  46069. Invariants Maintained by Class
  46070. ODWindowState contains a list of ODWindow objects.
  46071. ODWindowState also contains the base menu bar object.
  46072.  
  46073. Other Persistent Properties
  46074. Although ODWindow is not an ODPersistentObject, the WindowState stored
  46075. windows persistently in a special draft property.
  46076. æKY ODWindowState::ODWindowState
  46077. WindowState::ODWindowState
  46078. WindowState->ODWindowState
  46079. æT Class Method
  46080. æD ODWindowState();
  46081.  
  46082. æC Protection
  46083.     Public.  A WindowState is created  by the OpenDoc session object.
  46084.  
  46085. Override policy
  46086.     Derived class cannot override.
  46087.     Derived class cannot call base class behavior, during derived class behavior.
  46088.  
  46089. Basic operation
  46090. Constructs the instance, setting fields to null values.
  46091.  
  46092. Inputs
  46093. None.
  46094.  
  46095. Outputs
  46096. None.
  46097.  
  46098. Exceptions Signalled
  46099. None.
  46100.  
  46101. Pre conditions
  46102. None.
  46103.  
  46104. Post conditions
  46105. The window state is constructed, but not usable until InitWindowState
  46106. is called.
  46107.  
  46108. æKY ODWindowState::~ODWindowState
  46109. WindowState::~ODWindowState
  46110. WindowState->~ODWindowState
  46111. æT Class Method
  46112. æD ~ODWindowState();
  46113.  
  46114. æC Protection
  46115.     Public.  The window state is  destroyed by the OpenDoc session object.
  46116.  
  46117. Override policy
  46118.     Derived class cannot override.
  46119.     Derived class cannot call base class behavior, during derived class behavior.
  46120.  
  46121. Basic operation
  46122. Frees the memory allocated by this instance.
  46123.  
  46124. Inputs
  46125. None.
  46126.  
  46127. Outputs
  46128. None.
  46129.  
  46130. Exceptions Signalled
  46131. None.
  46132.  
  46133. Pre conditions
  46134. A constructed instance.
  46135.  
  46136. Post conditions
  46137. The memory used by this class is freed.
  46138.  
  46139. æKY ODWindowState::AcquireActiveWindow
  46140. WindowState::AcquireActiveWindow
  46141. WindowState->AcquireActiveWindow
  46142. æT Class Method
  46143. æD ODWindow* AcquireActiveWindow();
  46144.  
  46145. æC Protection
  46146.     Public.  Used by the dispatcher.
  46147.  
  46148. Override policy
  46149.     Derived class can override.
  46150.     Derived class can call base class behavior, during derived class behavior.
  46151.  
  46152. Basic operation
  46153. Returns the front-most window which is not a "floating" window.
  46154.  
  46155. Inputs
  46156. None.
  46157.  
  46158. Outputs
  46159. <return>
  46160.     The active window
  46161.  
  46162. Exceptions Signalled
  46163. None.
  46164.  
  46165. Pre conditions
  46166. Avalid initialized instance.
  46167.  
  46168. Post conditions
  46169. No effect on this instance.
  46170.  
  46171. æKY ODWindowState::AcquireBaseMenuBar
  46172. WindowState::AcquireBaseMenuBar
  46173. WindowState->AcquireBaseMenuBar
  46174. æT Class Method
  46175. æD ODMenuBar* AcquireBaseMenuBar();
  46176.  
  46177. æC Protection
  46178.     Public.  Public, for use by shell. Parts typically call CopyBaseMenuBar
  46179.  
  46180. Override policy
  46181.     Derived class can override.
  46182.     Derived class can call base class behavior, during derived class behavior.
  46183.  
  46184. Basic operation
  46185. Returns a reference to the current menu bar. 
  46186.  
  46187. Inputs
  46188. None.
  46189.  
  46190. Outputs
  46191. <return>
  46192.     Reference to current base menu bar
  46193.  
  46194. Exceptions Signalled
  46195. None.
  46196.  
  46197. Pre conditions
  46198. A valid initialized instance.
  46199.  
  46200. Post conditions
  46201. No effect on this instance.
  46202.  
  46203. æKY ODWindowState::AcquireCurrentMenuBar
  46204. WindowState::AcquireCurrentMenuBar
  46205. WindowState->AcquireCurrentMenuBar
  46206. æT Class Method
  46207. æD ODMenuBar* AcquireCurrentMenuBar();
  46208.  
  46209. æC Protection
  46210.     Public.  Public, for use by shell. Parts typically call CopyBaseMenuBar.
  46211.  
  46212. Override policy
  46213.     Derived class can override.
  46214.     Derived class can call base class behavior, during derived class behavior.
  46215.  
  46216. Basic operation
  46217. Returns a reference to the current menu bar. 
  46218.  
  46219. Inputs
  46220. None.
  46221.  
  46222. Outputs
  46223. <return>
  46224.     Reference to current menu bar
  46225.  
  46226. Exceptions Signalled
  46227. None.
  46228.  
  46229. Pre conditions
  46230. A valid initialized instance.
  46231.  
  46232. Post conditions
  46233. No effect on this instance.
  46234.  
  46235. æKY ODWindowState::AcquireFrontFloatingWindow
  46236. WindowState::AcquireFrontFloatingWindow
  46237. WindowState->AcquireFrontFloatingWindow
  46238. æT Class Method
  46239. æD ODWindow*    AcquireFrontFloatingWindow();
  46240.  
  46241. æC Protection
  46242.     Public.  
  46243.  
  46244. Override policy
  46245.     Derived class can override.
  46246.     Derived class can call base class behavior, during derived class behavior.
  46247.  
  46248. Basic operation
  46249. Returns the front floating  window. If there is no such window,
  46250. kODNULL is returned.
  46251.  
  46252. Inputs
  46253. None.
  46254.  
  46255. Outputs
  46256. <return>
  46257.     Front floating window.
  46258.  
  46259. Exceptions Signalled
  46260. None.
  46261.  
  46262. Pre conditions
  46263. A valid initialized instance.
  46264.  
  46265. Post conditions
  46266. No effect on this instance.
  46267.  
  46268. æKY ODWindowState::AcquireFrontRootWindow
  46269. WindowState::AcquireFrontRootWindow
  46270. WindowState->AcquireFrontRootWindow
  46271. æT Class Method
  46272. æD ODWindow*    AcquireFrontRootWindow();
  46273.  
  46274. æC Protection
  46275.     Public.  
  46276.  
  46277. Override policy
  46278.     Derived class can override.
  46279.     Derived class can call base class behavior, during derived class behavior.
  46280.  
  46281. Basic operation
  46282. Returns the front non-floating root document window. If there is no
  46283. such window, kODNULL is returned.
  46284.  
  46285. Inputs
  46286. None.
  46287.  
  46288. Outputs
  46289. <return>
  46290.     Front non-floating root document window
  46291.  
  46292. Exceptions Signalled
  46293. None.
  46294.  
  46295. Pre conditions
  46296. A valid initialized instance
  46297.  
  46298. Post conditions
  46299. No effect on this instance.
  46300.  
  46301. æKY ODWindowState::AcquireFrontWindow
  46302. WindowState::AcquireFrontWindow
  46303. WindowState->AcquireFrontWindow
  46304. æT Class Method
  46305. æD ODWindow*    AcquireFrontWindow();
  46306.  
  46307. æC Protection
  46308.     Public.  
  46309.  
  46310. Override policy
  46311.     Derived class can override.
  46312.     Derived class can call base class behavior, during derived class behavior.
  46313.  
  46314. Basic operation
  46315. Returns the front non-floating document window. If there is no such
  46316. window, kODNULL is returned.
  46317.  
  46318. Inputs
  46319. None.
  46320.  
  46321. Outputs
  46322. <return>
  46323.     First document window.
  46324.  
  46325. Exceptions Signalled
  46326. None.
  46327.  
  46328. Pre conditions
  46329. None.
  46330.  
  46331. Post conditions
  46332. None.
  46333.  
  46334. æKY ODWindowState::AcquireODWindow
  46335. WindowState::AcquireODWindow
  46336. WindowState->AcquireODWindow
  46337. æT Class Method
  46338. æD ODWindow* AcquireODWindow(
  46339. ODPlatformWindow window);
  46340.  
  46341. æC Protection
  46342.     Public.  Called mostly by the dispatcher.
  46343.  
  46344. Override policy
  46345.     Derived class can override.
  46346.     Derived class can call base class behavior, during derived class behavior.
  46347.  
  46348. Basic operation
  46349. Returns the ODWindow object corresponding to the specified
  46350. platform-specific window object, or kODNULL.
  46351.  
  46352. Inputs
  46353. window
  46354.     A platform-specific window object
  46355.  
  46356. Outputs
  46357. <return>
  46358.     The corresponding OpenDoc window, or kODNULL  if the specified window
  46359. is not an OpenDoc window
  46360.  
  46361. Exceptions Signalled
  46362. None.
  46363.  
  46364. Pre conditions
  46365. A valid initialized instance.
  46366.  
  46367. Post conditions
  46368. No effect on this instance.
  46369.  
  46370. æKY ODWindowState::AcquireWindow
  46371. WindowState::AcquireWindow
  46372. WindowState->AcquireWindow
  46373. æT Class Method
  46374. æD ODWindow* AcquireWindow(
  46375. ODID id);
  46376.  
  46377. æC Protection
  46378.     Public.  
  46379.  
  46380. Override policy
  46381.     Derived class can override.
  46382.     Derived class can call base class behavior, during derived class behavior.
  46383.  
  46384. Basic operation
  46385. Returns the window object with the given ID, or kODNULL if the window
  46386. has been destroyed or never existed. Note that these are not
  46387. persistent IDs, but are valid for a session.
  46388.  
  46389. Inputs
  46390. id
  46391.     A window ID, obtained from a window using ODWindow::GetID.
  46392.  
  46393. Outputs
  46394. <return>
  46395.     The  window matching the specified ID, or kODNULL.
  46396.  
  46397. Exceptions Signalled
  46398. None.
  46399.  
  46400. Pre conditions
  46401. A valid initialized instance.
  46402.  
  46403. Post conditions
  46404. No effect on this instance.
  46405.  
  46406. æKY ODWindowState::ActivateFrontWindows
  46407. WindowState::ActivateFrontWindows
  46408. WindowState->ActivateFrontWindows
  46409. æT Class Method
  46410. æD void        ActivateFrontWindows();
  46411.  
  46412. æC Protection
  46413.     Public.  
  46414.  
  46415. Override policy
  46416.     Derived class can override.
  46417.     Derived class can call base class behavior, during derived class behavior.
  46418.  
  46419. Basic operation
  46420. Activates all the floating windows and the first Document window. This
  46421. should be called after  a modal dialog has been dismissed.
  46422. DeactivateFrontWindows should be called before the modal dialog is
  46423. displayed.
  46424.  
  46425. Inputs
  46426. None.
  46427.  
  46428. Outputs
  46429. None.
  46430.  
  46431. Exceptions Signalled
  46432. None.
  46433.  
  46434. Pre conditions
  46435. DeactivateFrontWindows has been called to deactivate all the floating
  46436. windows and the first Document window.
  46437.  
  46438. Post conditions
  46439. All the floating windows and the firstDocument window should be
  46440. active.
  46441.  
  46442. æKY ODWindowState::AdjustPartMenus
  46443. WindowState::AdjustPartMenus
  46444. WindowState->AdjustPartMenus
  46445. æT Class Method
  46446. æD void AdjustPartMenus();
  46447.  
  46448. æC Protection
  46449.     Public.  Called when the user clicks in the menu bar.
  46450.  
  46451. Override policy
  46452.     Derived class can override.
  46453.     Derived class can call base class behavior, during derived class behavior.
  46454.  
  46455. Basic operation
  46456. Calls Part::AdjustMenus for the part with the menu focus, so that it
  46457. can enable/disable menu items as necessary.
  46458.  
  46459. Inputs
  46460. None.
  46461.  
  46462. Outputs
  46463. None.
  46464.  
  46465. Exceptions Signalled
  46466. None.
  46467.  
  46468. Pre conditions
  46469. A valid initialized instance.
  46470.  
  46471. Post conditions
  46472. Menus are set up by part with menu focus.
  46473.  
  46474. æKY ODWindowState::CloseWindows
  46475. WindowState::CloseWindows
  46476. WindowState->CloseWindows
  46477. æT Class Method
  46478. æD void CloseWindows(
  46479. ODDraft* draft);
  46480.  
  46481. æC Protection
  46482.     Public.  Called by the OpenDoc shell when closing a draft.
  46483.  
  46484. Override policy
  46485.     Derived class can override.
  46486.     Derived class can call base class behavior, during derived class behavior.
  46487.  
  46488. Basic operation
  46489. Closes all windows belonging to the specified draft.
  46490.  
  46491. Inputs
  46492. draft
  46493.     An open OpenDoc draft
  46494.  
  46495. Outputs
  46496. None.
  46497.  
  46498. Exceptions Signalled
  46499. kODErrInvalidDraft
  46500.     The specified draft is not valid.
  46501.  
  46502. Pre conditions
  46503. A valid open draft object.
  46504.  
  46505. Post conditions
  46506. All windows of the specified draft are closed.
  46507.  
  46508. æKY ODWindowState::CopyBaseMenuBar
  46509. WindowState::CopyBaseMenuBar
  46510. WindowState->CopyBaseMenuBar
  46511. æT Class Method
  46512. æD ODMenuBar* CopyBaseMenuBar();
  46513.  
  46514. æC Protection
  46515.     Public.  Called by Part Editors.
  46516.  
  46517. Override policy
  46518.     Derived class can override.
  46519.     Derived class can call base class behavior, during derived class behavior.
  46520.  
  46521. Basic operation
  46522. Returns a copy of the base menu bar. Called by part editors to create
  46523. a menu bar to which they add their own menus.
  46524.  
  46525. Inputs
  46526. None.
  46527.  
  46528. Outputs
  46529. <return>
  46530.     Copy of base menu bar
  46531.  
  46532. Exceptions Signalled
  46533. None.
  46534.  
  46535. Pre conditions
  46536. A valid initialized instance.
  46537.  
  46538. Post conditions
  46539. No effect on this instance.
  46540.  
  46541. æKY ODWindowState::CreateCanvas
  46542. WindowState::CreateCanvas
  46543. WindowState->CreateCanvas
  46544. æT Class Method
  46545. æD ODCanvas* CreateCanvas(
  46546. ODGraphicsSystem graphicsSystem,
  46547. ODPlatformCanvs platformCanvas,
  46548. ODBoolean isDynamic,
  46549. ODBoolean isOffscreen);
  46550.  
  46551. æC Protection
  46552.     Public.  Called by parts to obtain canvas objects.
  46553.  
  46554. Override policy
  46555.     Derived class can override.
  46556.     Derived class can call base class behavior, during derived class behavior.
  46557.  
  46558. Basic operation
  46559. Create and return a canvas object with the specified parameters.
  46560.  
  46561. Inputs
  46562. graphicsSystem
  46563.     graphicsSystem setting of the canvas.
  46564. platformCanvas
  46565.     platformCanvas for the canvas.
  46566. isDynamic
  46567.     isDynamic setting of the canvas.
  46568. isOffscreen
  46569.     isOffscreen setting of the canvas.
  46570.  
  46571. Outputs
  46572. <return>
  46573.     The new canvas.
  46574.  
  46575. Exceptions Signalled
  46576. None.
  46577.  
  46578. Pre conditions
  46579. None.
  46580.  
  46581. Post conditions
  46582. None.
  46583.  
  46584. æKY ODWindowState::CreateMenuBar
  46585. WindowState::CreateMenuBar
  46586. WindowState->CreateMenuBar
  46587. æT Class Method
  46588. æD ODMenuBar CreateMenuBar(
  46589. in ODPlatformMenuBar menuBar);
  46590.  
  46591. æC Protection
  46592.     Public.  Called by shell. Parts generally call CopyBaseMenuBar.
  46593.  
  46594. Override policy
  46595.     Derived class can override.
  46596.     Derived class can call base class behavior, during derived class behavior.
  46597.  
  46598. Basic operation
  46599. Creates and initializes an ODMenuBar.
  46600.  
  46601. Inputs
  46602. menuBar
  46603.     The platform-specific menu bar object.
  46604.  
  46605. Outputs
  46606. <return>
  46607.     <return>
  46608.  
  46609. Exceptions Signalled
  46610. None.
  46611.  
  46612. Pre conditions
  46613. An initialized ODWindowState
  46614.  
  46615. Post conditions
  46616. Result contains a valid ODMenuBar
  46617.  
  46618. æKY ODWindowState::CreateWindowIterator
  46619. WindowState::CreateWindowIterator
  46620. WindowState->CreateWindowIterator
  46621. æT Class Method
  46622. æD ODWindowIterator* CreateWindowIterator();
  46623.  
  46624. æC Protection
  46625.     Public.  
  46626.  
  46627. Override policy
  46628.     Derived class can override.
  46629.     Derived class can call base class behavior, during derived class behavior.
  46630.  
  46631. Basic operation
  46632. Returns an iterator for all the windows (of all drafts) in the window
  46633. state.
  46634.  
  46635. Inputs
  46636. None.
  46637.  
  46638. Outputs
  46639. <return>
  46640.     The iterator
  46641.  
  46642. Exceptions Signalled
  46643. None.
  46644.  
  46645. Pre conditions
  46646. A valid initialized instance.
  46647.  
  46648. Post conditions
  46649. No effect on this instance.
  46650.  
  46651. æKY ODWindowState::DeactivateFrontWindows
  46652. WindowState::DeactivateFrontWindows
  46653. WindowState->DeactivateFrontWindows
  46654. æT Class Method
  46655. æD void        DeactivateFrontWindows();
  46656.  
  46657. æC Protection
  46658.     Public.  
  46659.  
  46660. Override policy
  46661.     Derived class can override.
  46662.     Derived class can call base class behavior, during derived class behavior.
  46663.  
  46664. Basic operation
  46665. Deactivates all the floating windows and the first Document window.
  46666. This should be called before a modal dialog is brought up.
  46667.  
  46668. Inputs
  46669. None.
  46670.  
  46671. Outputs
  46672. None.
  46673.  
  46674. Exceptions Signalled
  46675. None.
  46676.  
  46677. Pre conditions
  46678. A valid initialized instance.
  46679.  
  46680. Post conditions
  46681. All the floating windows and the firstDocument window should be
  46682. deactivated.
  46683.  
  46684. æKY ODWindowState::Externalize
  46685. WindowState::Externalize
  46686. WindowState->Externalize
  46687. æT Class Method
  46688. æD void Externalize(
  46689. ODDraft* draft);
  46690.  
  46691. æC Protection
  46692.     Public.  Called by the OpenDoc shell when saving a draft.
  46693.  
  46694. Override policy
  46695.     Derived class can override.
  46696.     Derived class can call base class behavior, during derived class behavior.
  46697.  
  46698. Basic operation
  46699. Saves all windows belonging to the specified draft in the draft.
  46700.  
  46701. Inputs
  46702. draft
  46703.     An open OpenDoc draft
  46704.  
  46705. Outputs
  46706. None.
  46707.  
  46708. Exceptions Signalled
  46709. kODErrInvalidDraft
  46710.     The specified draft is not valid.
  46711.  
  46712. Pre conditions
  46713. A valid open draft object.
  46714.  
  46715. Post conditions
  46716. The draft contains the IDs of the windows that were saved in the
  46717. draft.
  46718.  
  46719. æKY ODWindowState::GetRootWindowCount
  46720. WindowState::GetRootWindowCount
  46721. WindowState->GetRootWindowCount
  46722. æT Class Method
  46723. æD ODUShort GetRootWindowCount(
  46724. ODDraft* draft);
  46725.  
  46726. æC Protection
  46727.     Public.  Used by the document shell when closing a window, to determine when to
  46728. close the draft.
  46729.  
  46730. Override policy
  46731.     Derived class can override.
  46732.     Derived class can call base class behavior, during derived class behavior.
  46733.  
  46734. Basic operation
  46735. Returns the number of  root windows belonging to the specified draft.
  46736.  
  46737. Inputs
  46738. None.
  46739.  
  46740. Outputs
  46741. <return>
  46742.     The number of root windows belonging to the specified draft.
  46743.  
  46744. Exceptions Signalled
  46745. None.
  46746.  
  46747. Pre conditions
  46748. A valid initialized instance.
  46749.  
  46750. Post conditions
  46751. No effect on this instance.
  46752.  
  46753. æKY ODWindowState::GetTotalRootWindowCount
  46754. WindowState::GetTotalRootWindowCount
  46755. WindowState->GetTotalRootWindowCount
  46756. æT Class Method
  46757. æD ODUShort GetTotalRootWindowCount();
  46758.  
  46759. æC Protection
  46760.     Public.  
  46761.  
  46762. Override policy
  46763.     Derived class can override.
  46764.     Derived class can call base class behavior, during derived class behavior.
  46765.  
  46766. Basic operation
  46767. Returns the number of root windows of all drafts.
  46768.  
  46769. Inputs
  46770. None.
  46771.  
  46772. Outputs
  46773. <return>
  46774.     The number of root windows of all drafts
  46775.  
  46776. Exceptions Signalled
  46777. None.
  46778.  
  46779. Pre conditions
  46780. A valid initialized instance.
  46781.  
  46782. Post conditions
  46783. No effect on this instance.
  46784.  
  46785. æKY ODWindowState::GetWindowCount
  46786. WindowState::GetWindowCount
  46787. WindowState->GetWindowCount
  46788. æT Class Method
  46789. æD ODULong GetWindowCount();
  46790.  
  46791. æC Protection
  46792.     Public.  
  46793.  
  46794. Override policy
  46795.     Derived class can override.
  46796.     Derived class can call base class behavior, during derived class behavior.
  46797.  
  46798. Basic operation
  46799. Returns the number of windows in the window state (regardless of
  46800. draft)
  46801.  
  46802. Inputs
  46803. None.
  46804.  
  46805. Outputs
  46806. <return>
  46807.     The number of  OpenDoc windows in the WindowState.
  46808.  
  46809. Exceptions Signalled
  46810. None.
  46811.  
  46812. Pre conditions
  46813. A valid initialized instance.
  46814.  
  46815. Post conditions
  46816. No effect on this instance.
  46817.  
  46818. æKY ODWindowState::InitWindowState
  46819. WindowState::InitWindowState
  46820. WindowState->InitWindowState
  46821. æT Class Method
  46822. æD InitWindowState(
  46823. ODSession* session);
  46824.  
  46825. æC Protection
  46826.     Public.  A WindowState is created  by the OpenDoc session object.
  46827.  
  46828. Override policy
  46829.     Derived class can override.
  46830.     Derived class can call base class behavior, during derived class behavior.
  46831.  
  46832. Basic operation
  46833. Initializes the WindowState.
  46834.  
  46835. Inputs
  46836. session
  46837.     A reference to the OpenDoc session object.
  46838.  
  46839. Outputs
  46840. None.
  46841.  
  46842. Exceptions Signalled
  46843. None.
  46844.  
  46845. Pre conditions
  46846. A constructed instance.
  46847.  
  46848. Post conditions
  46849. The window state is ready for use.
  46850.  
  46851. æKY ODWindowState::Internalize
  46852. WindowState::Internalize
  46853. WindowState->Internalize
  46854. æT Class Method
  46855. æD void Internalize(
  46856. ODDraft* draft);
  46857.  
  46858. æC Protection
  46859.     Public.  Called by the OpenDoc shell when a draft is opened.
  46860.  
  46861. Override policy
  46862.     Derived class can override.
  46863.     Derived class can call base class behavior, during derived class behavior.
  46864.  
  46865. Basic operation
  46866. Adds to the window state all windows persistently stored in the
  46867. specified draft.
  46868.  
  46869. Inputs
  46870. draft
  46871.     An open OpenDoc draft.
  46872.  
  46873. Outputs
  46874. None.
  46875.  
  46876. Exceptions Signalled
  46877. kODErrInvalidDraft
  46878.     The specified draft is not valid.
  46879. kODErrOutOfMemory
  46880.     Out of memory
  46881.  
  46882. Pre conditions
  46883. A valid open draft object.
  46884.  
  46885. Post conditions
  46886. The window state contains all the windows that were saved in the
  46887. draft.
  46888.  
  46889. æKY ODWindowState::IsODWindow
  46890. WindowState::IsODWindow
  46891. WindowState->IsODWindow
  46892. æT Class Method
  46893. æD ODBoolean IsODWindow(
  46894. ODPlatformWindow window);
  46895.  
  46896. æC Protection
  46897.     Public.  Called mostly by the dispatcher.
  46898.  
  46899. Override policy
  46900.     Derived class can override.
  46901.     Derived class can call base class behavior, during derived class behavior.
  46902.  
  46903. Basic operation
  46904. Returns true if the specified platform-specific window is an OpenDoc
  46905. window.
  46906.  
  46907. Inputs
  46908. window
  46909.     A platform-specific window object
  46910.  
  46911. Outputs
  46912. <return>
  46913.     kODTrue, if the window is an OpenDoc window
  46914.  
  46915. Exceptions Signalled
  46916. None.
  46917.  
  46918. Pre conditions
  46919. A valid initialized instance.
  46920.  
  46921. Post conditions
  46922. No effect on this instance.
  46923.  
  46924. æKY ODWindowState::OpenWindows
  46925. WindowState::OpenWindows
  46926. WindowState->OpenWindows
  46927. æT Class Method
  46928. æD void OpenWindows(
  46929. ODDraft* draft);
  46930.  
  46931. æC Protection
  46932.     Public.  Called by the OpenDoc shell.
  46933.  
  46934. Override policy
  46935.     Derived class can override.
  46936.     Derived class can call base class behavior, during derived class behavior.
  46937.  
  46938. Basic operation
  46939. Opens all windows stored in the specified draft, and shows those that
  46940. were visible when saved.
  46941.  
  46942. Inputs
  46943. draft
  46944.     An open OpenDoc draft.
  46945.  
  46946. Outputs
  46947. None.
  46948.  
  46949. Exceptions Signalled
  46950. kODErrInvalidDraft
  46951.     The specified draft is not valid.
  46952. kODErrOutOfMemory
  46953.     Out of memory
  46954.  
  46955. Pre conditions
  46956. A valid open draft object. The WindowState has already Internalized
  46957. the windows of the specified draft.
  46958.  
  46959. Post conditions
  46960. The windows of the specified draft are open.
  46961.  
  46962. æKY ODWindowState::Purge
  46963. WindowState::Purge
  46964. WindowState->Purge
  46965. æT Class Method
  46966. æD ODSize Purge(
  46967. ODSize size);
  46968.  
  46969. æC Protection
  46970.     Public.  Called by OpenDoc.
  46971.  
  46972. Override policy
  46973.     Derived class can override.
  46974.     Derived class can call base class behavior, during derived class behavior.
  46975.  
  46976. Basic operation
  46977. Frees up some memory, by deleting cached values which can be
  46978. recomputed or restored from persistent storage.
  46979.  
  46980. Inputs
  46981. size
  46982.     The amount of memory requested.
  46983.  
  46984. Outputs
  46985. <return>
  46986.     The amount of memory freed.
  46987.  
  46988. Exceptions Signalled
  46989. None.
  46990.  
  46991. Pre conditions
  46992. A valid initialized instance.
  46993.  
  46994. Post conditions
  46995. Some memory has been freed up.
  46996.  
  46997. æKY ODWindowState::RegisterWindow
  46998. WindowState::RegisterWindow
  46999. WindowState->RegisterWindow
  47000. æT Class Method
  47001. æD ODWindow* RegisterWindow(
  47002. ODPlatformWindow platformWindow,
  47003. ODType frameType,
  47004. ODBoolean isRootWindow,
  47005. ODBoolean isResizable,
  47006. ODBoolean isFloating,
  47007. ODBoolean shouldSave,
  47008. ODPart* rootPart,
  47009. ODTypeToken viewType,
  47010. ODTypeToken presentation,
  47011. ODFrame* sourceFrame);
  47012.  
  47013. æC Protection
  47014.     Public.  
  47015.  
  47016. Override policy
  47017.     Derived class can override.
  47018.     Derived class can call base class behavior, during derived class behavior.
  47019.  
  47020. Basic operation
  47021. Creates and initializes a window object for a given platform window,
  47022. and registers it to the WindowState. The supplied platform window
  47023. should be created invisble. Calls to RegisterWindow are usually
  47024. followed by Open(), Show() and Select() calls.
  47025.  
  47026. Inputs
  47027. platformWindow
  47028.     A pointer to a platform-specific window structure
  47029. isRootWindow
  47030.     Does this window "keep the document open". kODFalse for dialog and
  47031. other auxiliary windows.
  47032. isResizable
  47033.     kODTrue, if the window is resizable by the user.
  47034. isFloating
  47035.     kODTrue if the window shouldalways float above others.
  47036. shouldSave
  47037.     kODTrue if the window state should save this window persistently in
  47038. the document. 
  47039. rootPart
  47040.     The part associated with the root frame of the window.
  47041. viewType
  47042.     The view type for the root frame of the window. See ODFrame.
  47043. presentation
  47044.     The presentation type for the root frame. See ODFrame.
  47045. sourceFrame
  47046.     The frame from which this window  was opened. Can be kODNull.
  47047. frameType
  47048.     The type which should be used to create the root frame of the window
  47049. (kODFrameObject or kODNonPersistentFrameObject).
  47050.  
  47051. Outputs
  47052. <return>
  47053.     The new window
  47054.  
  47055. Exceptions Signalled
  47056. None.
  47057.  
  47058. Pre conditions
  47059. A valid initialized instance.
  47060.  
  47061. Post conditions
  47062. The newly-created window is in the window state.
  47063.  
  47064. æKY ODWindowState::RegisterWindowForFrame
  47065. WindowState::RegisterWindowForFrame
  47066. WindowState->RegisterWindowForFrame
  47067. æT Class Method
  47068. æD ODWindow RegisterWindowForFrame(
  47069. in ODPlatformWindow newWindow,
  47070. in ODFrame frame,
  47071. in ODBoolean isRootWindow,
  47072. in ODBoolean isResizable,
  47073. in ODBoolean isFloating,
  47074. in ODBoolean shouldSave,
  47075. in ODFrame sourceFrame);
  47076.  
  47077. æC Protection
  47078.     Public.  
  47079.  
  47080. Override policy
  47081.     Derived class can override.
  47082.     Derived class can call base class behavior, during derived class behavior.
  47083.  
  47084. Basic operation
  47085. Creates and initializes a window object for a given platform window
  47086. and root frame, and registers it to the WindowState. The supplied
  47087. platform window should be created invisble. Calls to
  47088. RegisterWindowForFrame are usually followed by Open(), Show() and
  47089. Select() calls.
  47090.  
  47091. Inputs
  47092. newWindow
  47093.     A pointer to a platform-specific window structure
  47094. isRootWindow
  47095.     Does this window "keep the document open". kODFalse for dialog and
  47096. other auxiliary windows.
  47097. isResizable
  47098.     kODTrue, if the window is resizable by the user.
  47099. isFloating
  47100.     kODTrue if the window shouldalways float above others.
  47101. shouldSave
  47102.     kODTrue if the window state should save this window persistently in
  47103. the document. 
  47104. sourceFrame
  47105.     The frame from which this window  was opened. Can be kODNull.
  47106. frame
  47107.     The root frame for this window
  47108.  
  47109. Outputs
  47110. <return>
  47111.     The new window
  47112.  
  47113. Exceptions Signalled
  47114. None.
  47115.  
  47116. Pre conditions
  47117. A valid initialized instance.
  47118.  
  47119. Post conditions
  47120. The newly-created window is in the window state.
  47121.  
  47122. æKY ODWindowState::SetBaseMenuBar
  47123. WindowState::SetBaseMenuBar
  47124. WindowState->SetBaseMenuBar
  47125. æT Class Method
  47126. æD void SetBaseMenuBar(
  47127. ODMenuBar* menuBar);
  47128.  
  47129. æC Protection
  47130.     Public.  Called by the OpenDoc shell application
  47131.  
  47132. Override policy
  47133.     Derived class can override.
  47134.     Derived class can call base class behavior, during derived class behavior.
  47135.  
  47136. Basic operation
  47137. Stores the base menu bar created by the shell. Parts call
  47138. CopyBaseMenuBar to create a menu bar to which they add their own
  47139. menus.
  47140.  
  47141. Inputs
  47142. menuBar
  47143.     Reference to base menu bar object
  47144.  
  47145. Outputs
  47146. None.
  47147.  
  47148. Exceptions Signalled
  47149. None.
  47150.  
  47151. Pre conditions
  47152. A valid initialized instance
  47153.  
  47154. Post conditions
  47155. Field is set.
  47156.  
  47157. æKY ODWindowState::SetCurrentMenuBar
  47158. WindowState::SetCurrentMenuBar
  47159. WindowState->SetCurrentMenuBar
  47160. æT Class Method
  47161. æD void SetCurrentMenuBar(
  47162. ODMenuBar* menuBar);
  47163.  
  47164. æC Protection
  47165.     Public.  Private to UI subsystem. Called by ODMenuBar::Display
  47166.  
  47167. Override policy
  47168.     Derived class can override.
  47169.     Derived class can call base class behavior, during derived class behavior.
  47170.  
  47171. Basic operation
  47172. Stores the reference to the current  menu bar.
  47173.  
  47174. Inputs
  47175. menuBar
  47176.     Reference to a menu bar
  47177.  
  47178. Outputs
  47179. None.
  47180.  
  47181. Exceptions Signalled
  47182. None.
  47183.  
  47184. Pre conditions
  47185. A constructed object of this class.
  47186.  
  47187. Post conditions
  47188. Stored current menu bar reference has been changed.
  47189.  
  47190. æKY ODWindowState::SetDefaultWindowTitles
  47191. WindowState::SetDefaultWindowTitles
  47192. WindowState->SetDefaultWindowTitles
  47193. æT Class Method
  47194. æD void SetDefaultWindowTitles(
  47195. ODDraft* draft);
  47196.  
  47197. æC Protection
  47198.     Public.  
  47199.  
  47200. Override policy
  47201.     Derived class can override.
  47202.     Derived class can call base class behavior, during derived class behavior.
  47203.  
  47204. Basic operation
  47205. Synchronizes window titles with the file name.
  47206.  
  47207. Inputs
  47208. draft
  47209.     An open OpenDoc draft
  47210.  
  47211. Outputs
  47212. None.
  47213.  
  47214. Exceptions Signalled
  47215. kODErrInvalidDraft
  47216.     The specified draft is not valid.
  47217.  
  47218. Pre conditions
  47219. A valid open draft object.
  47220.  
  47221. Post conditions
  47222. The window titles are synchronized with the file name.
  47223.  
  47224. æKY ODWindowState::fBaseMenuBar
  47225. WindowState::fBaseMenuBar
  47226. æT Class Field
  47227. æD ODMenuBar* fBaseMenuBar;
  47228. æC Persistent form
  47229. None.
  47230.  
  47231. æKY ODWindowState::fCurrentMenuBar
  47232. WindowState::fCurrentMenuBar
  47233. æT Class Field
  47234. æD ODMenuBar* fCurrentMenuBar;
  47235. æC Persistent form
  47236. None.
  47237.  
  47238. æKY ODWindowState::fNextID
  47239. WindowState::fNextID
  47240. æT Class Field
  47241. æD ODID fNextID;
  47242. æC 
  47243. æKY ODWindowState::fSession
  47244. WindowState::fSession
  47245. æT Class Field
  47246. æD ODSession* fSession;
  47247. æC Persistent form
  47248. None.
  47249.  
  47250. æKY ODWindowState::fWindowList
  47251. WindowState::fWindowList
  47252. æT Class Field
  47253. æD OrderedCollection* fWindowList;
  47254. æC 
  47255.